我的活动中有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
点击按钮2:显示片段2
点击按钮3:显示片段3
谢谢!
答案 0 :(得分:1)
答案在the documentation for 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);
}
});