急求:TabHost下的Tab的activity跳转解决办法
急求:TabHost下的Tab的activity跳转
TabHost里面的一个内容页是activity,数据来了之后“折线图”要进行更新,所以要能在当前同一个Tab下进行跳转到新的activity....但是我一跳转就会把整个tabHost都抹掉,而不是tabhost里面的内容进行变换...
------解决方案--------------------
如果仅仅改变折线图,感觉重新画个折线图就好了。 帮顶...
------解决方案--------------------
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去 ?
------解决方案--------------------
http://blog.****.net/yuzhiboyi/article/details/7645781
这个帖子应该对你有帮助,他在第一个选项卡中放了两个Activity,你可以看一下他的 测试程序的效果图
------解决方案--------------------
public class MainActivity extends TabActivity {
public static final String TAB_HOME="首页";
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
------解决方案--------------------
如果仅仅改变折线图,感觉重新画个折线图就好了。 帮顶...
------解决方案--------------------
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去 ?
------解决方案--------------------
http://blog.****.net/yuzhiboyi/article/details/7645781
这个帖子应该对你有帮助,他在第一个选项卡中放了两个Activity,你可以看一下他的 测试程序的效果图
------解决方案--------------------
public class MainActivity extends TabActivity {
public static final String TAB_HOME="首页";
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