1

だから私はアプリを開発していますが、今までは2つのアクティビティを持つ通常のタブレイアウトを使用していました. 今、FragmentTabHost を使用してそれを行う方がはるかに優れていると誰かが私に言いました。だから私はいくつかのドキュメントを読んでいて、これが私がこれまでに思いついたものです:

MainActivity_Fragment:

public class MainActivity_Fragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.activity_main, container, false);
    }

}

RecordedLibrary_Fragment:

public class RecordedLibrary_Fragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.activity_recorded_library, container, false);
    }
}

TabLayout アクティビティ:

public class TabLayout extends FragmentActivity {

//GLOBAL VARIABLES///////////////
private FragmentTabHost mTabHost;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tab_layout);

    mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
    mTabHost.setup(this, getSupportFragmentManager(), r.id....); // <-- problem here

    mTabHost.addTab(mTabHost.newTabSpec("Recording").setIndicator("Recording"),
            MainActivity_Fragment.class, null);

    mTabHost.addTab(mTabHost.newTabSpec("Library").setIndicator("Library"),
            RecordedLibrary_Fragment.class, null);
    }
}

今、これが私が立ち往生しているところです。ドキュメントで説明されていないことがいくつかあります。そこで、質問が 2 つあります。

ドキュメントのこの行:

mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

彼らはどこで R.id.realtabcontent を入手しましたか?

そして、説明されていない別のこと。タブ アクティビティの xml はどのように表示されますか?

私の現在のタブレイアウトxml:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>
</LinearLayout>

ご覧のとおり、タブ レイアウト xml は古いタブ レイアウトのままです。FragmentTabLayout に調整する必要がありますか、それともこの方法でよいでしょうか?

4

1 に答える 1