繁体   English   中英

使用viewpager.setCurrentItem(position)传递一些数据

[英]Pass some data with viewpager.setCurrentItem(position)

我希望在按钮点击内传递一些值,同时更改viewpager选项卡片段。 我有两个问题。

  1. 传递数据的最佳方法是什么?
  2. 如果我使用静态数据会有什么问题? 如:

     public static string abc="" case R.id.IVActionMore: ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.tabs_viewpager); viewPager.setCurrentItem(3); //abc = "action"; break; 
  1. 使用addOnPageChangeListener

void addOnPageChangeListener(ViewPager.OnPageChangeListener listener)添加一个侦听器,只要页面发生更改或逐步滚动,就会调用该侦听器。

怎么样 ?

 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int position, float 
                     positionOffset, int positionOffsetPixels) {

    }

    @Override
    public void onPageSelected(int position) 
    {

     if(position == 3)
     {
           // DO your work
     }

    }

    @Override
    public void onPageScrollStateChanged(int state) {

    }
});

的OnClick

 buttonOBJ.setOnClickListener(new OnClickListener()
   {
             @Override
             public void onClick(View v)
             {
                viewPager.setCurrentItem(viewPager.getCurrentItem() + 1, true);
             } 
   }); 

您可以使用shared-preference设置和获取数据。 使用静态不是一个好主意。 检查链接

https://stackoverflow.com/a/23024962/4549220

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM