我搜索了一下,我知道似乎有些人對使用標籤內的活動感到不滿,但移動過去......如何重新啓動標籤式活動,同時仍然保持標籤可見?我有一個選項卡中的活動,我使用菜單創建一個新活動來更新選項卡的活動顯示信息,當我從菜單活動返回時,我希望新信息顯示在選項卡的活動中。我從菜單選擇中使用startActivityForResult(),但是當我返回並嘗試重新啓動活動時...它抹掉了上面的選項卡(我猜想是按預期的那樣,但我想在選項卡中重新啓動刷新的活動) 。Android:如何重新啓動tabhost內的活動?
創建標籤:在標籤的活動菜單活動
TabHost host = getTabHost();
Intent home_intent = new Intent(constants.HOME_ACTION,
null, this, homeTab.class);
Intent inbox_intent = new Intent(constants.INBOX_ACTION,
null, this, inboxTab.class);
Intent stats_intent = new Intent(constants.STATS_ACTION, null,
this, infoTab.class);
host.addTab(host.newTabSpec(constants.HOME_TAG)
.setIndicator(getText(R.string.home_label),
getResources().getDrawable(R.drawable.icon))
.setContent(home_intent));
host.addTab(host.newTabSpec(constants.INBOX_TAG)
.setIndicator(getText(R.string.inbox_label),
getResources().getDrawable(R.drawable.icon))
.setContent(inbox_intent));
host.addTab(host.newTabSpec(constants.STATS_TAG)
.setIndicator(getText(R.string.stats_label),
getResources().getDrawable(R.drawable.icon)).setContent(
stats_intent));
回報(更新數據庫信息):
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case (constants.ACTIVITY_REQUEST_CODE_UPDATE_PROFILE) : {
if (resultCode == Activity.RESULT_OK) {
boolean profileUpdated = data.getBooleanExtra(constants.ACTIVITY_BUNDLE_UPDATE_PROFILE, false);
Log.d(LOG_TAG, "activity returned with " + profileUpdated);
// Check to see if we updated our profile to refresh the screen
if(profileUpdated == true){
// Refresh the screen with the new info
homeTab.this.finish();
this.startActivity(getIntent());
}
}
break;
}
}
}
哈,嗨「有些人」。當我寫這篇文章時,我確實特別想到你,因爲你的帖子是我遇到的帖子(順便說一下,感謝你與大家分享的所有知識)。所以我評論了另一個解釋我想要做的事情的答案。我對這個術語還不是很瞭解,但我相信我正在使用活動中的視圖...我認爲: 保護無效onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.hometab); TextView name =(TextView)findViewById(R.id.home_name);等 任何方式刷新這些對象? –
我想我有。在onActivityResult()返回上,我可以通過查詢數據庫並使用.setText()更新Textview來更新Textview字段。簡單...對不起,我沒有看到它。 –