1

3 つのタブを持つ TabHost アクティビティがあります。2 番目のタブにはボタンがあり、クリックすると新しい Activity クラスが開きます (TabHost の一部ではありません)。新しいアクティビティ クラスのボタンをクリックすると、TabHost クラスのタブ 2 に戻るはずですが、タブ 1 に戻ります。どうすれば修正できますか?

これが私の新しいActivityクラスのコードです:

ImageButton btn1 = (ImageButton)findViewById(R.id.close);
btn1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = new Intent(ES_pic2.this, Work.class);
            startActivity(intent);
            ES_pic2.this.finish();  
        }           
    });

私の TabHost クラスのコード:

private void tabs(){

    TabHost tabs=(TabHost)findViewById(R.id.tabhost);

    tabs.setup();

    TabHost.TabSpec spec=tabs.newTabSpec("tag1");

    spec.setContent(R.id.tab1);
    spec.setIndicator("WORK 1");
    tabs.addTab(spec);

    spec=tabs.newTabSpec("tag2");
    spec.setContent(R.id.tab2);
    spec.setIndicator("WORK 2");
    tabs.addTab(spec);  

    spec=tabs.newTabSpec("tag3");
    spec.setContent(R.id.tab3);
    spec.setIndicator("WORK 3");
    tabs.addTab(spec);

}

同様の問題を持つ他の質問を見ましたが、役に立ちませんでした。

4

1 に答える 1

1

onResumeタブがあるアクティビティの で、setCurentTab関数を使用して現在のタブを設定します。新しいアクティビティを開始する前に選択したのと同じインデックスにタブを設定する場合は、インデックスをSharedPreferenceまたは何かに保存できます。次に、それを使用して現在のタブを設定します。

于 2013-08-30T18:54:09.630 に答える