TabActivity才作为main activity 。 其他你通过addHost 添加的Activity只是个伪Activity:1、提供视图 ;2、TabActivity会根据当前显示的界面去适当回调其他伪Activity的生命周期:onStart onPause 等。 你直接startActivity,当然会启动一个新的Activity界面覆盖原有TabActivity界面。不知道LZ那个来了数据Activity是个什么情况?可以将来了数据的Activity设置一些主题:Dialog主题、透明主题等 。 直接更新折现图额,不需要在跳转了。 最后, 或者你的意思是:直接利用TabHost的API setCurrentTab(int index) setCurrentTabByTag(String tag)跳到其他Tab去 ?
解决方案 »
- 如何下载google code?用GIT
- 怎么给自己设定的AlertDialog里面的按钮添加监听器?谢谢
- 怎么把别人的软件添加到自己的程序中?
- Android ListView怎么和SQList数据库同步!!!
- JDK环境变量设置问题
- 求这样的AlterDialog代码
- Windows CE 6.5与Android区别?各有什么优缺点?
- java如何生成jar包,我不需要main函数的,我只是生成架包调用而已
- Expandablelistview addFooterView一个view之后 怎么设置默认展开
- Android蓝牙通信 大数据量短时间间隔通信出错(蓝牙spp)
- 什么powershell指令可以获取CPU usage和各个程序的网络流量
- popupwindow 的问题
这个帖子应该对你有帮助,他在第一个选项卡中放了两个Activity,你可以看一下他的 测试程序的效果图
我这个 图表引擎 的activity 是 graphicActivity, 然后我跳转到的另一个activity 也是 graphicActivity 两个相同能跳转吗???
public static final String TAB_SORT="分类";
public static final String TAB_CART="购物车";
public static final String TAB_CUSTOMER="个人中心";
public static final String TAB_MORE="更多";
public static final int ITEM0=Menu.FIRST;//系统值
public static final int ITEM1=Menu.FIRST+1;
public static final int ITEM2=Menu.FIRST+2;
public static final int ITEM3=Menu.FIRST+3;
private TabHost tabHost;
private TextView car_goodscount;
private File cache;
private SharedPreferences share;
private Editor edit;
private String nv;
private File file;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
//购物车数量 消息
car_goodscount=(TextView) findViewById(R.id.car_goodscount);
car_goodscount.setVisibility(View.VISIBLE);
car_goodscount.setText("3");
share=MainActivity.this.getSharedPreferences("user", Context.MODE_PRIVATE);
edit=share.edit();
nv=share.getString("username", "");//如果存在name返回name的值,如果不存在该元素,返回“”
file = new File("/data/data/" + getPackageName().toString() + "/shared_prefs/", "user.xml");
//底部导航
tabHost=this.getTabHost();
TabSpec ts1=tabHost.newTabSpec(TAB_HOME).setIndicator(TAB_HOME);
ts1.setContent(new Intent(MainActivity.this,IndexActivity.class));
tabHost.addTab(ts1);
TabSpec ts2=tabHost.newTabSpec(TAB_SORT).setIndicator(TAB_SORT);
ts2.setContent(new Intent(MainActivity.this,SortListActivity.class));
tabHost.addTab(ts2);
TabSpec ts3=tabHost.newTabSpec(TAB_CART).setIndicator(TAB_CART);
ts3.setContent(new Intent(MainActivity.this,CartActivity.class));
tabHost.addTab(ts3);
TabSpec ts4=tabHost.newTabSpec(TAB_CUSTOMER).setIndicator(TAB_CUSTOMER);
ts4.setContent(new Intent(MainActivity.this,HomeActivity.class));
tabHost.addTab(ts4);
RadioGroup radioGroup=(RadioGroup)findViewById(R.id.main_radioGroup);
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
switch(checkedId){
case R.id.radio_button0:
tabHost.setCurrentTabByTag(TAB_HOME);
break;
case R.id.radio_button1:
tabHost.setCurrentTabByTag(TAB_SORT);
break;
case R.id.radio_button2:
tabHost.setCurrentTabByTag(TAB_CART);
break;
case R.id.radio_button3:
if(nv.equals("")){
Intent it=new Intent(MainActivity.this,LoginActivity.class);
startActivity(it);
}else{
tabHost.setCurrentTabByTag(TAB_CUSTOMER);
}
break;
}
}
});
呵呵,不好意思哦,你黏代码太快了,都没看我的问题吧...你这个是做 两个Tab之间的切换哦!
首先要清除掉TabHost
然后之后就是重新造TabHost 这样就可以了