0

FragmentActivity から拡張され、TabHost.OnTabChangeListener を実装する Main.class があります。Fragmentから拡張された4つのクラスを呼び出す4つのタブがあります。

たとえば、tab1 のフラグメントにいて、ボタンを押して tab2 にアクセスする場合、次のようにします。

public class Tab01 extends Fragment {
...
Intent intent = new Intent(getActivity(), Main.class);
intent.putExtra("Screen","Tab02");
Tab01.this.startActivity(intent);
getActivity().finish();
...
}

そして Main.class で:

public class Main extends FragmentActivity implements TabHost.OnTabChangeListener {
.....
private void initialiseTabHost(Bundle args) {
..
String nameTab = "";
String nameTabExtra = myIntent.getStringExtra("Screen");
if(nameTabExtra == null){
            mTabHost.setCurrentTab(0);
        }else{
            if (nameTabExtra.equals("Tab01")){
                nameTab = "Tab01";
                mTabHost.setCurrentTab(0);
            }else if (nameTabExtra.equals("Tab02")){
                nameTab = "Tab02";
                mTabHost.setCurrentTab(1);              
            }else if (nameTabExtra.equals("Tab03")){
                nameTab = "Tab03";
                mTabHost.setCurrentTab(2);
            }else if (nameTabExtra.equals("Tab04")){
                nameTab = "Tab04";
                mTabHost.setCurrentTab(3);
            } 
        }
this.onTabChanged(nameTab);

これは機能しますが、それが唯一の方法ですか?ありがとう

4

1 に答える 1