0

アクティビティに 3 つのフラグメントがあり、FragmentPagerAdapter を拡張するカスタム クラスによって管理されます。

私のメインxml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
      >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
          />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
          />

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
          />


  <android.support.v4.view.ViewPager
                android:id="@+id/tabviewpager"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1" />

</LinearLayout>

私の活動:

public class RankingFragmentActivity extends FragmentActivity{
....

  List fragments = new Vector();


fragments.add(Fragment.instantiate(this,Tab1Fragment.class.getName()));
fragments.add(Fragment.instantiate(this,Tab2Fragment.class.getName()));
fragments.add(Fragment.instantiate(this,Tab3Fragment.class.getName()));

//adapter
MyPagerAdapter mPagerAdapter =  new MyPagerAdapter(super.getSupportFragmentManager(), fragments);

ViewPager pager = (ViewPager) super.findViewById(R.id.tabviewpager);

pager.setAdapter(this.mPagerAdapter);

}

letf から右へ (および右から左へ) フラグメントから完全に切り替えることができます。

(表示されるフラグメントを変更するために)ボタンをリスナーとして設定したいのですが、方法がわかりません。

例: button1 をクリック : Fragment 1 が表示されます

button2 をクリック: フラグメント 2 が表示されます

button3 をクリック : Fragment 3 が表示されます

ありがとうございました !

4

1 に答える 1

1

答えはFragmentPagerAdapter のドキュメントにあります

    // Watch for button clicks.
    Button button = (Button)findViewById(R.id.goto_first);
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            mPager.setCurrentItem(0);
        }
    });
于 2012-11-20T04:09:23.897 に答える