[ViewPager - 如何使用按钮从一个页面导航到另一个页面?

时间:2014-05-13 12:59:04

标签: android navigation android-viewpager fragment

我正在学习如何在我的Android应用中使用ViewPager。现在,我能够创建一个带有滑动支持的三个选项卡的基本应用程序。现在,我想要做的是,如何使用ViewPager中当前其中一个片段内的按钮从一个页面转到另一个页面,我已尝试过这个

Android ViewPager Prev/Next Button 但它对我不起作用,以便更好地理解我想要实现的目标:

我有三(3)个标签(3个片段), TAB A, TAB B, TAB C

在TAB A中,我有一个按钮。我希望该按钮INSIDE TAB A(片段A)的动作转到TAB C(或TAB B)。我一直在寻找正确的方法,但无济于事。我希望有人可以帮助我,谢谢!

2 个答案:

答案 0 :(得分:3)

好的,这里是如何在片段A中添加按钮来切换片段c: 1-在片段a中添加按钮,在xml文件中,id为foo,如下所示:

<Button
    android:id="@+id/foo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="go to fragemnt c" />

去片段一个名为onCreateView的类覆盖方法,并通过创建名为buttonClick的接口设置onclickListner创建并在旁边片段创建var,然后覆盖方法onAttch初始化接口var onAttch方法:

public class FragmentA extends Fragment {

buttonClick click;
Button foo;

interface buttonClick {
    void buttonClicked(View v);
}

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    click = (buttonClick) activity;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_a, container,false);

    foo = (Button) view.findViewById(R.id.foo);
    foo.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            click.buttonClicked(v);
        }
    });

    return view;
}

}

然后回到你的MainActivity实现buttonClick接口并覆盖方法中的方法buttonClicked(View v); setCurrentItem用于视图寻呼机,如下所示:

calss MainActivity implements FragmentA.buttonClick {

   // your code here ...

   public void buttonClicked(View v){
      //get your viewPager var
      viewPager.setCurrentItem(3);
    }

}

我希望这有帮助

答案 1 :(得分:1)

获取ViewPager,使用

ViewPager.setCurrentItem(int item)