作者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
1F:推 givemepass:你的意思是说TabHost的分页内 想要进行画面的转跳 08/07 20:20
2F:→ givemepass:然後形成很多Activity都在TabHost内跳页 08/07 20:20
3F:→ givemepass:那你必须找关键字 ActivityGroup来看看 08/07 20:21
4F:→ givemepass:不过在3.0之後 这种方法已经被弃用了 08/07 20:21
5F:→ givemepass:原因出在管理上非常麻烦 你会遇到back以及其他的问题 08/07 20:21
6F:→ givemepass:在3.0之後是用Fragment来取代这样的一种模式 08/07 20:22
7F:→ givemepass:官网有TabHost+FragmentActivity 不过它只有第一层 08/07 20:23
8F:→ givemepass:不过概念相同 如果你想要跳到第二层 可参考它的 08/07 20:23
9F:→ givemepass:TabManager的写法 08/07 20:23
10F:→ ivanf10710:我也看到Fragment的用法了,但是这样就不能支援3.0以下 08/07 23:57
11F:→ ivanf10710:版本,另外问问ActionBar的作用跟TabHost有甚麽区别? 08/07 23:58
12F:推 givemepass:版本可以向下相容啊 08/08 11:30
13F:→ givemepass:两个是不一样的东西 一个是标题栏位 一个是画面片段 08/08 11:32
14F:→ ivanf10710:因为必须在旧的code上面加上tabhost(SDK2.2)所以可能还 08/08 18:32
15F:→ ivanf10710:是要用到ActivityGroup了,谢谢G大的回覆! 08/08 18:33
16F:→ givemepass:不懂 ActivityGroup明明有问题 坚持要用的原因是? 08/08 19:58
17F:→ givemepass:不是说Fragment可以用lib的方式来向下相容了吗? 08/08 19:59
18F:→ ivanf10710:好的,我试着用Fragment做做看好了 08/08 21:36