第一篇文章,所以請放輕鬆。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