2

以下のコードを使用してタブ付きアクティビティを作成しようとしています

public class FragmentTabs extends FragmentActivity {

private FragmentTabHost mTabHost;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
    mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

    mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
            SimpleFrag.class, null);

    mTabHost.addTab(mTabHost.newTabSpec("detailed").setIndicator("Detailed"),
            DetailedFrag.class, null);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}    

コードは常に java.lang.IllegalStateException: Can not perform this action after onSaveInstanceStateFragmentManager 内に表示されます。私は数回グーグルで検索し、すべてのリンクを調べました。しかし、私は解決策を得ることができません。私はこれで立ち往生しているので、私を助けてください。

-------------------------------------------------- - - 編集 - - - - - - - - - - - - - - - - -

上記のコードは時々うまく動作し、時々例外をスローします。

4

2 に答える 2

1

次のコードを試してください。

super.onCreate(savedInstanceState);
View root = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE).inflate(R.layout.activity_main, null, false);
setContentView(root);
mTabHost = (FragmentTabHost) root.findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),SimpleFrag.class, null);
mTabHost.addTab(mTabHost.newTabSpec("detailed").setIndicator("Detailed"), DetailedFrag.class, null);
于 2013-11-13T09:40:52.513 に答える
0

これを使ってみてください:

if (savedInstanceState == null) {
        // write code here
    }

コードを伝えない場合

于 2013-11-13T09:14:41.337 に答える