我正在使用MvvmCross和Xamarin.Forms开发一个小型应用程序。 我按照MvvmCross网站上的教程构建了项目。事实是,当我尝试添加初始屏幕(在android项目上)以在加载主viewmodel时出现时,它卡在了它上... 我将您的Start.cs(将等于MainActivity文件)附加到安装程序和SplashScreen配置中:
window.open
设置:
[Activity(
Label = "@string/app_name",
Theme = "@style/AppTheme",
MainLauncher = false,
LaunchMode = LaunchMode.SingleTask,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class Start : MvxFormsAppCompatActivity<Setup, App, FormsApp>
{
//LaunchMode = LaunchMode.SingleTask
//MvxFormsAppCompatActivity<MvxFormsAndroidSetup<App, FormsApp>, App, FormsApp>
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
}
}
SplashScreen:
public class Setup : MvxFormsAndroidSetup<App, FormsApp>
{
}
有人知道我在做什么错吗?
答案 0 :(得分:2)
您使用的是哪个版本的MvvmCross?
通常来说,尝试遵循Playground示例中的内容。对于Xamarin.Forms Droid,您应该看看Playground.Forms.Droid-我建议您在计算机上下载MvvmCross源(使用develop分支),并尝试运行此示例。
我怀疑问题出在您从MvxSplashScreenActivity
继承的部分。尝试从该类的通用版本继承,例如MvxFormsSplashScreenActivity<Setup, Core.App, FormsApp>
。看看splash screen class在Playground示例中的样子
如果这没有帮助,请从字面上检查您的应用程序与Playground示例应用程序有何不同,并填充缺失的部分