作者ivanf10710 (Ivan)
看板AndroidDev
標題[問題] 關於TabHost幾個問題
時間Tue Aug 7 16:20:25 2012
我製作了一個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