gpt4 book ai didi

c# - 从其他 Activity 的构造函数开始 Activity ?

转载 作者:行者123 更新时间:2023-11-30 01:55:31 24 4
gpt4 key购买 nike

我是 xamarin/android 开发的新手,但这几乎是我在概念上尝试的:

  • 有一个检查用户是否已经登录的主要 Activity
  • 如果用户已登录,则启动 MainAppActivity
  • 如果用户没有登录,启动OnboardingActivity

我认为这些应该在不同的 Activity 中的原因是出于一般设计原因(关注点分离等) - 但也因为这两个 Activity 有不同的主题。 (入职流程没有标题栏)

在代码中,这应该是我所需要的:

[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) 过程中尝试同样的事情,我也会得到一个异常。

但是,当我将类似的东西绑定(bind)到按钮事件并手动单击它时,它将起作用。 (这不是我的 Intent ,但为了测试我的 Activity 没有任何问题)

那么,问题是,我该如何做这样的事情?

编辑:如果我在构造函数中尝试,这里是堆栈跟踪:

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#

最佳答案

我没有使用过 xamarin,所以我可能是错的。

FYR,在原生 android 上,您应该在 MainActivityonCreate 而不是 Constructor

中执行此操作

关于c# - 从其他 Activity 的构造函数开始 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32307199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com