android:解决单个tab内部的activity跳转

这里不是指tab的切换问题,而是单个tab中的内部跳转

比如有一个tabWidget,比如上面有4个a,b,c,d的Activity,然后a上面有一个按钮,对要使其实现跳转到ActivityX,若代码如下的话:
Intent intent = new Intent(aActivity.this,xxActivity.class);

startActivity(intent);

finish();

那么执行后,就只是进入了ActivityX,但下面的tabWidget也消失了

我们要的效果是切换到ActivityX,而又保持有下面的tabWidget,这类似于iphone中的UItarbar里的导航功能。

 

网上求救这效果的很多,但解决方法也比较凌乱。

 

解决方案一:Activity + TabHost + ActivityGroup

但是ActivityGroup 已经被Google弃用了,其官方建议使用Fragment代替,所以这种方法我也没有尝试。

ActivityGroup 的具体可以参考

Android TabHost中切換Activity 

 

方案二:Fragment + TabHost + FragmentActivity

fragment 是3.0之后才有的特性,不过在此之前的SDK可以外加扩展包(android-support-v4)实现其功能。

fragement的使用 可以参考http://marshal.easymorse.com/?s=fragment

 

mHost.addTab(mHost.newTabSpec("Tab1").setIndicator("Tab1").setContent(newIntent(MainTabActivity.this, FragmentActivity1.class)));

这样就使tab为一个FragemntActivity,在FragemntActivity中加入Fragment即可进行管理

实现tab的可参考

Android Tabhost with FragmentActivity

 

三:猜想:FragmentActivity

之前使用Fragment实现了一个Master-Details的界面,类似于iphone中的UISplitView,其原理是通过FragmentActivity的界面分成左右两片,然后分别对左右添加管理Fragment,即可实现。其右边也可实现activity的跳转功能。由此想到,如果把FragmentActivity的视图分成上下两片,下面的做成tab的形式,即可实现啦!

找时间尝试~

本文转自老Zhan博客园博客,原文链接:http://www.cnblogs.com/mybkn/archive/2012/05/18/2507789.html,如需转载请自行联系原作者

上一篇:升级到 Fedora 12 后系统无法启动


下一篇:聊天机器人需有独立三观 而不仅仅只是预设