加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[Android开发]每日一昭 - getParent()和getCurrentActivity()

(2012-02-09 01:36:44)
标签:

android

函数

调用

参考资料

跳转

百度空间

it

分类: 软件开发
对于Activity之间的跳转,我一向是用静态机制解决的,虽然都没有什么错误,但是总觉得应该有更好的方法。
今天在百度空间(hbzha)看到一个针对TabActivity的不错的解决机制:
getParent()和getCurrentActivity()
以下是原文引用(也可看参考资料链接):
__________________________________________________________________________
1. 在子Activity中调用 getParent()函数,以获取作为容器的TabActivity的instance,并调用该容器Activity中事先设定的switchActivity函数。

2. 在TabActivity的swtichActivity函数中,调用TabHost.setCurrentTab()函数,将当前Tab跳转到需要跳转的Activity。

3. 在TabActivity的swtichActivity函数中,调用getCurrentActivity()函数,获得Tab跳转后显示当前 Activity的instance (getCurrentActivity是ActivityGroup的公共函数,而ActivityGroup是TabActivity的父类)。

4. 用第三步获得instance调用其公共函数。

其实如果用View来取代Activity作为Tab显示的类的话,该实现可以容易很多。可惜的是,Android自带的Contacts.apk是通过子Activity来实现Tab功能的,要扩展只能麻烦些了。
__________________________________________________________________________

作者说过的地方我就不赘述了,我就补充一下:
getParent()和getCurrentActivity()的返回类型是Activity,所以用完了马上接 .方法 是没法编译的,应该先cast一下:((类名)getParent()).method(); ((类名)getCurrentActivity()).method(); 

在程序里面试着使用了一下,效果还是不错的。


参考资料:

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有