展会信息港展会大全

Android ActivityGroup实现的TabHost 保留activity原来状态
来源:互联网   发布日期:2015-10-03 11:11:52   浏览:2447次  

导读: 在用ActivityGroup实现的TabHost时,由tab1切换到tab2再切换回来时,会重新加载tab1里的activity public class MainUIAc...

在用ActivityGroup实现的TabHost时,由tab1切换到tab2再切换回来时,会重新加载tab1里的activity

public class MainUIActivity extendsActivityGroup{

private Context context=this;

private TabHost mTabhost;

private String TAB1="首页";

private String TAB2="收藏";

private String TAB3="3";

private String TAB4="4";

private String TAB5="更多";

//定义数组来存放按钮图片

private int mImageViewArray[] = {R.drawable.tab_home_btn,R.drawable.tab_message_btn,R.drawable.tab_selfinfo_btn,

R.drawable.tab_square_btn,R.drawable.tab_more_btn};

//Tab选项卡的文字

private String mTextviewArray[] = {TAB1, TAB2, TAB3, TAB4, TAB5};

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.tab_main);

mTabhost=(TabHost) findViewById(R.id.tabhost1);

mTabhost.setup();

mTabhost.setup(this.getLocalActivityManager());

Intent i1=new Intent(this,MainActivity.class);

Intent i_collect=new Intent(this,CollectActivity.class);

//Intent i1=new Intent(this,MainActivity.class);

//Intent i1=new Intent(this,MainActivity.class);

//Intent i1=new Intent(this,MainActivity.class);

mTabhost.addTab(mTabhost.newTabSpec(TAB1).setIndicator(getTabItemView(0)).setContent(R.id.zhuye).setContent(i1));

//注意,这里是newTabSpec(TAB2),每个tab选项卡要写的不一样,这样才能保存原来的状态

mTabhost.addTab(mTabhost.newTabSpec(TAB2).setIndicator(getTabItemView(1)).setContent(R.id.zhuye2).setContent(i_collect));

mTabhost.addTab(mTabhost.newTabSpec(TAB1).setIndicator(getTabItemView(2)).setContent(R.id.zhuye3).setContent(i1));

mTabhost.addTab(mTabhost.newTabSpec(TAB1).setIndicator(getTabItemView(3)).setContent(R.id.zhuye4).setContent(i1));

mTabhost.addTab(mTabhost.newTabSpec(TAB1).setIndicator(getTabItemView(4)).setContent(R.id.zhuye5).setContent(i1));

}

/**

* 给Tab按钮设置图标和文字

*/

private View getTabItemView(int index){

View view = LayoutInflater.from(context).inflate(R.layout.tab_item, null);

ImageView imageView = (ImageView) view.findViewById(R.id.tab_icon);

imageView.setImageResource(mImageViewArray[index]);

TextView textView = (TextView) view.findViewById(R.id.tab_name);

textView.setText(mTextviewArray[index]);

return view;

}

public static Intent createIntent(Context context) {

Intent i = new Intent(context, MainActivity.class);

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

return i;

}

}

解决方法在上面的代码中已经写了,就是为每个tab选项卡设置不同的tag

赞助本站

人工智能实验室

相关热词: android开发

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港