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

Posted

技术标签:

【中文标题】[ViewPager - 如何使用按钮从一个页面导航到另一个页面?【英文标题】:[ViewPager - How to Navigate from one page to another using a button? 【发布时间】:2014-07-01 04:04:40 【问题描述】:

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

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

我有三 (3) 个标签(3 个片段), 选项卡一个, 选项卡 B, 制表符 C

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

【问题讨论】:

请发布您的代码 【参考方案1】:

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

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

转到一个名为 onCreateView 的类覆盖方法的片段,并通过创建名为 buttonClick 的接口来设置 onclickListner 创建,并在侧片段中从它创建 var 然后覆盖方法 onAttch 在 onAttch 方法中初始化接口 var:

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);
    


希望对你有帮助

【讨论】:

工作出色,谢谢!【参考方案2】:

获取您的 ViewPager,使用

ViewPager.setCurrentItem(int item)

【讨论】:

在其中一个片段内? 你总是可以在ViewPager viewpager = getActivity().findViewById(R.id.viewpager) 后面跟着viewpager.setCurrentItem(int item)

以上是关于[ViewPager - 如何使用按钮从一个页面导航到另一个页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何从使用 Fragment 的 ViewPager2 获得用户点击?

ViewPager 上的菜单按钮敬酒位置错误

通过按钮更改 viewpager 片段 Click

转到ViewPager中的下一页

在 ViewPager 中滑动到新页面会导致旧页面丢失状态

在 ViewPager 中单击按钮更改文本视图