我对xamarin / android开发很新,但这几乎就是我在概念上的尝试:
我认为这些应该在不同的活动中的原因是出于一般设计原因(关注点分离等) - 但也因为两个活动都有不同的主题。 (入职流程没有标题栏)
在代码中,这应该是我所需要的:
[Activity(Label = "MyApp", MainLauncher = true, Icon = "@drawable/icon", Theme = "@android:style/Theme.Black.NoTitleBar")]
public class MainActivity : Activity
{
private readonly TransactionService _transactionService;
public MainActivity()
{
var isLoggedIn = true; // This will be loaded from somewhere
if(isLoggedIn)
{
var intent = new Intent(this, typeof(MainAppActivity));
StartActivity(intent);
}
else
{
var intent = new Intent(this, typeof(OnboardingActivity));
StartActivity(intent);
}
}
}
但是,此代码只会抛出一个未指定的异常。
如果我在protected override void OnCreate(Bundle bundle)
过程中尝试相同的操作,我也会得到一个例外。
但是,当我将类似的内容绑定到按钮事件并手动单击它时,它将起作用。 (这不是我的意图,但要测试我的活动没有任何问题)
所以,问题是,我该怎么办?
编辑:如果我在构造函数中尝试它,这是堆栈跟踪:
0x29 in System.Diagnostics.Debugger.Mono_UnhandledException_internal C#
0x1 in System.Diagnostics.Debugger.Mono_UnhandledException at /Users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/System.Diagnostics/Debugger.cs:122,4 C#
0x6 in Android.Runtime.UncaughtExceptionHandler.UncaughtException at /Users/builder/data/lanes/1978/f98871a9/source/monodroid/src/Mono.Android/src/Runtime/UncaughtExceptionHandler.cs:35,4 C#
0x1C in Java.Lang.Thread.IUncaughtExceptionHandlerInvoker.n_UncaughtException_Ljava_lang_Thread_Ljava_lang_Throwable_ at /Users/builder/data/lanes/1978/f98871a9/source/monodroid/src/Mono.Android/platforms/android-21/src/generated/Java.Lang.Thread.cs:221,5 C#
0x1D in object.b8bd1d31-3e2e-454d-bd94-9d5dea40eddb C#
答案 0 :(得分:1)
我没有使用过xamarin,所以我错了。
FYR,在原生Android上,您应该在onCreate
的{{1}}而不是构造函数