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 :显示片段 1

点击 button2 :显示片段 2

点击 button3 :显示片段 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 回答