已经弃用的TabActivity深深的伤害了我
来源:互联网 发布:淘宝国民党军服 编辑:程序博客网 时间:2024/04/28 06:20
在仿写别人的代码的时候发现用到的TabActivity被自动化掉了,仔细一看已经被弃用,deprecated了。
所以我就上网搜啊搜。看别人的博文。这位大神蛙齋所写如下
【
1. 把TabActivity改成Activity(廢話 …)
public
class
MainActivity
extends
TabActivity
public
class
MainActivity
extends
Activity
2. 取得TabHost物件,這裡不能透過像TabActivity一樣直接用getTabHost();。
TabHost tabHost = getTabHost();
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
3. 增加一個LocalActivityManager物件。這幾行是一定不能少,少了對大家都不好DDMS會一直報出大量的錯誤訊息。
1
2
3
LocalActivityManager lam =
new
LocalActivityManager(MainActivity.
this
,
false
);
lam.dispatchCreate(savedInstanceState);
mHost.setup(lam);
4. 最後最重要的重頭戲部份Override onPause及onResume(這個應該是有看過Source的人才知道的吧!小蛙太弱了><),少了這邊的設定,就算上面全部都對,到這邊還是會狂錯(感謝Stack Overflow的dcanh121以及CJ Villa)。
1
2
3
4
5
6
7
8
9
10
@Override
protected
void
onPause() {
lam.dispatchPause(isFinishing());
super
.onPause();
}
@Override
protected
void
onResume() {
lam.dispatchResume();
super
.onResume();
}
如果有任何一個步驟漏掉,會得到以下錯誤。
Caused by: java.lang.IllegalStateException: Activities can't be added until the containing group has been created.
到這邊就已經完成囉!其他tabHost.addTab的使用方式一模一樣。接下來會再另一篇說明怎麼在TabHost裡面切換多個Activity,並且讓每個頁籤中的Back Stack可以獨立運作。
】
但是当我百写不得解决的时候,我放弃了。
我直接不管不顾的直接向下写,知道最后。
然后我很惊奇的发现最后无关大局,很顺利的运行了。
所以我得出了结论,当你看不懂甚至怀疑别人所写的代码的时候,别怀疑,没资格,到最后再试一试吧。android里的各个控件联系太深了。
1 0
- 已经弃用的TabActivity深深的伤害了我
- 苹果你深深的伤害了我,还不让我说
- php5.3 已经弃用的函数
- 我思念的人受到了伤害!
- 如今自己对长公主的伤害已经到头了
- 程序员的噩梦,我的漏洞伤害了他人
- 我深深的喜欢上了图像处理
- 吐槽SVN深深怀念我的GIT
- 被这个文章深深的感触了
- 可口的香菇炖鸡汤我忍不住深深的吸了一口气
- 还有一个聊天客户端的项目,让我深深的认识了自己
- 感谢伤害我的人
- .live()已经弃用!
- 我深深感觉到每一次呼吸里都充满了思念的韵味
- 【OnMyWay】我为啥弃用了Ubuntu
- 弃用TabActivity,使用FragmentActivity实现
- 我的BBS已经上传了
- 我已经傻的可以了~
- GC通用日志解读
- hdu acm 1241
- 机器视觉开源代码集合
- listview的优化
- SSIS 无视 Execute Package task 控件的错误, 不会导致整个package报错的方法
- 已经弃用的TabActivity深深的伤害了我
- 收集的网络上大型的开源图像处理软件代码(提供下载链接)
- postman-变量/环境/过滤等
- 不同的子序列
- jvm的card table数据结构
- java字符串匹配汉字数字与字母
- 数据结构实验之链表五:单链表的拆分
- Codeforces Round #357 (Div. 2) C. Heap Operations
- 利用原始HttpURLConnection发送POST数据