我創建了兩個選項卡,分別爲TAB1和TAB2。對於TAB1,我已加載一個活動,說ActivityOne,進TAB1作爲在單個選項卡中有多個活動時,模擬器上的後退按鈕出現問題
Intent intent = new Intent(this,ActivityOne.class);
TabHost.TabSpec spec = getTabHost().newTabSpec("ActivityOne")
.setIndicator("Activity One",getResources().getDrawable(R.drawable.artists)).setContent(intent);
getTabHost().addTab(spec);
這ActivityOne擴展了的ActivityGroup和我在此活動添加一個按鈕。通過點擊這個按鈕,它會調用另一個活動,說ActivityOne_One,作爲
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(ActivityOne.this,ActivityOne_One.class);
replaceContentView("ActivityOne_One",intent);
}
public void replaceContentView(String id, Intent intent){
View view = this.getLocalActivityManager().startActivity(id, intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
this.setContentView(view);
}
當我們點擊該按鈕ActivityOne_One下相同TAB1將陸續推出。在這個應用程序中,我有兩個問題: 1)如果我想通過在模擬器上使用傳統的BACK按鈕返回到相同TAB1下的ActivityOne,它不起作用。 2)ActivityOne_One啓動時沒有動畫(如從右滑動到左)效應。
如果有誰知道其中任何一個,給你的建議..
感謝,
VENU
您的回覆喜binnyb..thanks。我看過那個博客,並且在back()方法中遇到了一個問題。我們在replaceView()方法中添加了對歷史(ArrayList)的視圖。問題是,假設我們在CitiesActivity中(因此歷史大小爲1)並單擊BACK按鈕,back()方法中的代碼將執行爲1 )歷史中只有一個元素(ArrayList)將被刪除,現在歷史大小爲零。 2)調用setContentView(history.get(history.size() - 1));給出java.lang.ArrayIndexOutOfBoundException..So如何執行此代碼?如果你不介意你能否以適當的方式指導我解決問題 – Venugopal 2010-10-13 18:22:47