2

下部に3つのタブがあるアプリを作りたいです。私のアプリでは、タブをクリックするたびに ViewPager を持つ別の FragmentActivity を開くようにしたいので、指でアクティビティをスワイプできますが、同じタブに残ります。現在、各タブはフラグメントを開くだけなので、ビューページャーを使用できません。FragmentTabHost からフラグメント アクティビティを開くにはどうすればよいですか? これは私のコードです、ありがとう!

public class MainActivity extends FragmentActivity {

private FragmentTabHost mTabHost;

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

    mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
    mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

    Bundle b = new Bundle();
    b.putString("key", "one");
    mTabHost.addTab(mTabHost.newTabSpec("one").setIndicator("one"),
            Fragment1.class, b);
    //
    b = new Bundle();
    b.putString("key", "two");
    mTabHost.addTab(mTabHost.newTabSpec("two")
            .setIndicator("two"), Fragment2.class, b);
    b = new Bundle();
    b.putString("key", "three");
    mTabHost.addTab(mTabHost.newTabSpec("three").setIndicator("three"),
            Fragment3.class, b);
}

これは単なるフラグメントの例です

    public class Fragment1 extends Fragment {

private TextView text;

public Fragment1() {
    // TODO Auto-generated constructor stub

}

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View v = LayoutInflater.from(getActivity()).inflate(R.layout.layout,
            null);
    text = (TextView) v.findViewById(R.id.text);
    if (getArguments() != null) {
        //
        try {
            String value = getArguments().getString("key");
            text.setText("THIS IS THE FIRST TAB - " + value);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    return v;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);
}
//

   }

これがXMLです

<FrameLayout
    android:id="@+id/realtabcontent"
    android:layout_width="match_parent"
    android:layout_height="0dip"
    android:layout_weight="1" >

</FrameLayout>
<android.support.v4.app.FragmentTabHost
    android:id="@android:id/tabhost"
          android:background="@android:color/darker_gray"

    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <FrameLayout
        android:id="@android:id/tabcontent"

        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="0" />
</android.support.v4.app.FragmentTabHost>
4

0 に答える 0