看板 AndroidDev 關於我們 聯絡資訊
我製作了一個tabhost,有四個tab選項連結到各自的Activity(第一層) 該Activity(第一層)還有別的操作會連結到令一個Activity(第二層) 而第二層的Activity並不在tab的選項內,這時我做的tab就會消失了 有點難表達,講的簡單一點就是我希望我做的tab 可以在這個App裡面所有的Activity中都顯示出來,我該怎麼做呢? 表達的很爛,附上一些code來描述: tabhost: public class AppTabhost extends TabActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /**find tab host**/ TabHost tabHost = getTabHost(); /**add tabs**/ //tab 1 tabHost.addTab(tabHost .newTabSpec("tab1") .setIndicator("tab1") //第一層:Activity A .setContent(new Intent(AppTabhost.this, A.class))); //tab 2 tabHost.addTab(tabHost .newTabSpec("tab2") .setIndicator("tab2") //第一層:Activity B .setContent(new Intent(AppTabhost.this, B.class))); } } --------------------------------------------------------------------- Activity A public A extends....{ public void onCreate(...) { .... Button btn = (Button) findViewById(...); btn.setOnClickListener(new View.OnClickListener() { Intent intent = new Intent(); //第二層:Activity C intent.setClass(this, C.class); startActivity(intent); }); } } 這時當我點擊按鈕連到Activity C時 tab就會不見了,有什麼方法可以讓tab顯示在所有的Activity中呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.34.138.203
givemepass:你的意思是說TabHost的分頁內 想要進行畫面的轉跳 08/07 20:20
givemepass:然後形成很多Activity都在TabHost內跳頁 08/07 20:20
givemepass:那你必須找關鍵字 ActivityGroup來看看 08/07 20:21
givemepass:不過在3.0之後 這種方法已經被棄用了 08/07 20:21
givemepass:原因出在管理上非常麻煩 你會遇到back以及其他的問題 08/07 20:21
givemepass:在3.0之後是用Fragment來取代這樣的一種模式 08/07 20:22
givemepass:官網有TabHost+FragmentActivity 不過它只有第一層 08/07 20:23
givemepass:不過概念相同 如果你想要跳到第二層 可參考它的 08/07 20:23
givemepass:TabManager的寫法 08/07 20:23
ivanf10710:我也看到Fragment的用法了,但是這樣就不能支援3.0以下 08/07 23:57
ivanf10710:版本,另外問問ActionBar的作用跟TabHost有甚麼區別? 08/07 23:58
givemepass:版本可以向下相容啊 08/08 11:30
givemepass:兩個是不一樣的東西 一個是標題欄位 一個是畫面片段 08/08 11:32
ivanf10710:因為必須在舊的code上面加上tabhost(SDK2.2)所以可能還 08/08 18:32
ivanf10710:是要用到ActivityGroup了,謝謝G大的回覆! 08/08 18:33
givemepass:不懂 ActivityGroup明明有問題 堅持要用的原因是? 08/08 19:58
givemepass:不是說Fragment可以用lib的方式來向下相容了嗎? 08/08 19:59
ivanf10710:好的,我試著用Fragment做做看好了 08/08 21:36