Android ActivityGroup實現的TabHost 保留activity原來狀態

來源:互聯網
上載者:User

標籤:tabhost   android   

    在用ActivityGroup實現的TabHost時,由tab1切換到tab2再切換回來時,會重新載入tab1裡的activity 

   

public class MainUIActivity extends  ActivityGroup{ 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};@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.