ABS の後にモデリングしている小さなアプリケーションを開始しました: Fragments -> Tabs and Pager。
私のアプリでは、次のようなメイン アクティビティを作成しました。
public class MainActivity extends SherlockFragmentActivity {
TabHost mTabHost;
ViewPager mViewPager;
TabsAdapter mTabsAdapter;
ConfigDBHelper sily_db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTabHost = (TabHost)findViewById(android.R.id.tabhost);
mTabHost.setup();
mViewPager = (ViewPager)findViewById(R.id.pager);
mTabsAdapter = new TabsAdapter(this,mTabHost,mViewPager);
mTabsAdapter.addTab(mTabHost.newTabSpec("home").setIndicator("Home"),
MainSupport.CountingFragment.class, null);
/*
mTabsAdapter.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
LoaderCursorSupport.CursorLoaderListFragment.class, null);
mTabsAdapter.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),
LoaderCustomSupport.AppListFragment.class, null);
mTabsAdapter.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
LoaderThrottleSupport.ThrottledLoaderListFragment.class, null);
*/
if (savedInstanceState != null) {
mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
}
コードには最終的に複数のタブが含まれますが、現時点では 1 つしか作成していません。
私の activity_main レイアウト ファイルは、名前が変更された ABS の fragment_tabs_pager.xml です。私の MainSupport は FragmentStackSupport.java ですが、名前が変更されました。
アプリケーションを実行すると、画面の上部に「タブ」が表示されるのではなく、ビューの中央に唯一のタブが表示され、fragment_stack.xml レイアウトと hello_world.xml レイアウトの両方がカバーされます。
私の疑いは、どこかで欠落しているか間違ったディレクティブを持っているが、どこにあるかわからないということです。特に、サンプルにある SimpleList.java モジュールをスキップしたためです。
何か案は?