Unë jam duke punuar në një aplikacion Xamarin.Forms duke përdorur MVVMCross që synon Android dhe iOS, tani më duhet të kryej disa verifikime në server përpara se aplikacioni të ngarkohet plotësisht, me rezultatin e atyre verifikimeve më duhet të paraqes një dialog konfirmimi me një mesazh për përdoruesin dhe duke e penguar atë të vazhdojë përpara se të pranojë ose anulojë dialogun.
Këtu është kodi model që më duhet të punoj:
public class App : MvxApplication
{
public override void Initialize()
{
//... a lot of Dependencies registering
RegisterCustomAppStart<AppStart>();
}
}
public class AppStart : MvxAppStart
{
private readonly IMvxLog _log;
private readonly IMyApiService _apiService;
public AppStart(IMvxApplication application, IMvxNavigationService navigationService) : base(application, avigationService)
{
_log = Mvx.IoCProvider.Resolve<IMvxLog>();
_apiService = Mvx.IoCProvider.Resolve<IMyApiService>();
}
protected override Task NavigateToFirstViewModel(object hint = null)
{
//This is all the code I need to make work, all these lines are pseudo code
//Do my server side validations
var myObj = await _apiService.staticValidations();
//Here I need to validate myObj, something like:
var result = false;
if(myObj.boolValue)
{
var result = await showConfirmationDialog();
//result should contains the value depending on user's selection: if pressed cancel or ok button
}
//At this point the splashscreen must continue freezed
if(result)
{
var mvxBundle = new MvxBundle(new Dictionary<string, string> {{BaseViewModel.NavigationBarParameter, "false"}});
await navigation.Navigate(myMainViewModel, mvxBundle);
}
else
{
//Other things
}
}
}
Jam përpjekur të shfaq dialogun e konfirmimit duke përdorur disa paketa nuget, por kam pasur gabime sepse bibliotekat përpiqen të bashkojnë një pamje në pirgun e lundrimit, dhe në këtë pikë rafti i navigimit nuk është inicializuar ende.
Unë do të vlerësoj ndihmën tuaj për këtë