Java 使用viewpager.setCurrentItem(位置)传递一些数据
我想在viewpager选项卡片段更改的情况下在按钮单击中传递一些值。我有两个问题Java 使用viewpager.setCurrentItem(位置)传递一些数据,java,android,android-viewpager,Java,Android,Android Viewpager,我想在viewpager选项卡片段更改的情况下在按钮单击中传递一些值。我有两个问题 传递数据的最佳方式是什么 如果我使用静态数据,会有什么问题?例如: public static string abc="" case R.id.IVActionMore: ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.tabs_viewpager); viewPager.setCurrentItem(3); //abc
public static string abc=""
case R.id.IVActionMore:
ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.tabs_viewpager);
viewPager.setCurrentItem(3);
//abc = "action";
break;
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);
}
});
您可以使用共享首选项来设置和获取数据。使用静态不是一个好主意。检查链接
你试过addOnPageChangeListenerWell吗?对我来说,使用静态字符串没有问题,我也用它来传递一些信息。我只是涉猎过Android开发,但有一些上下文对象你应该用来放置数据。静态不是一个好主意,因为它们不受生命周期概念的控制,所以你的应用程序可能会在没有注意到的情况下重新加载,数据也会消失。是的,我也尝试过只更改选项卡,但如何传递数据。最好的方法是什么。我想在点击按钮时更改页面。谢谢你的重播。但是“不要使用静态,这不是一个好方法”。最好的方法是什么?我如何在您的代码中使用它。@t.gakk对于
静态
没有问题。但是从@t.gakk知道我使用的SharedRef
没有问题yet@t.gakk对于您的上述问题,请检查传递数据的最佳方式是什么?您可以检查以下内容: