第一篇文章,所以请放轻松。Android:无法重新启动ListActivity
我有一个应用程序与少数选项卡,第一次打开运行应用程序。 其中一个选项卡是显示帐户选项的“我的帐户”(ListActivity)。我切换到这一点,如果用户没有登录,它反过来,使用以下运行UserLogon活动:
Intent logonActivity = new Intent(getBaseContext(), UserLogon.class);
startActivityForResult(logonActivity, 0);
赶结果,我用下面的代码:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 0){
MainBlock ta = (MainBlock) this.getParent();
TabHost th = ta.getMyTabHost();
th.setCurrentTab(0);
finish();
}
if (requestCode == 100)
{
showAccountOptions();
}
}
在UserLogon类中,我有通常的票价; TextView和Button的。其目的是如果用户取消登录,它将恢复到初始选项卡,或者如果登录成功,它将显示帐户选项。而这确实发生了什么。
目前为止都很好。
我遇到的问题是,如果我取消登录并返回到第一个选项卡,当我再次选择帐户选项卡时,我没有出现UserLogon活动。我的印象是,finish()
将关闭用户登录活动和帐户活动,但它不会显示。
所以,我的问题很简单,实际上,我如何重新启动Accounts活动,以便用户可以再次登录该选项。
非常感谢您的迅速回复,让我更接近我的目标。 我现在已经添加了setOnTabChangedListener,它现在在选择Account选项卡时触发UserLogon活动。但是,单击取消按钮时,出现以下错误: java.lang.RuntimeException:传递结果失败ResultInfo {who = null,request = 0,result = 0,data = Intent {(has extras )}}到活动{com.app.myApp/com.app.myApp.MainBlock}:java.lang.NullPointerException 任何想法? –
要添加,我的MainBlock也有OnActivityResult,并且UserLogon活动调用setResult。 –
我更新了答案,以便您可以看到如何使用活动结果的想法。也许这会帮助你弄清楚发生了什么问题。 – Knickedi