我有三个片段,其中一个活动已关联。我想在操作栏上的按钮上点击一个字符串中的所有三个片段的数据。当我取消选择标签时,我正在获取数据。但是当我在最后一个标签我无法获取数据。感谢任何类型的帮助。感谢
答案 0 :(得分:0)
您可以使用静态变量创建一个接口,并且此接口的所有片段都可以扩展。 静态变量可以是ArrayList,HashMap或其他类似的东西。因此,使用它,您将能够访问所需的所有数据。
答案 1 :(得分:0)
我说的界面:
public abstract class FragInterface extends Fragment {
public ArrayList<Object> objectList = new ArrayList<Object>();
}
片段例如:
public class FragExample extends FragInterface {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.xxxxx, container, false);
}
}
在活动中:
private ViewPager.SimpleOnPageChangeListener mSimpleOnPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
// you can get something
((FragInterface)((SimpleTabPagerAdapter) mViewPager.getAdapter()).getItem(mViewPager.getCurrentItem())).objectList.get(indexOfData);
// or you can add something
((FragInterface)((SimpleTabPagerAdapter) mViewPager.getAdapter()).getItem(mViewPager.getCurrentItem())).objectList.add(objectYouWant);
}
@Override
public void onPageScrollStateChanged(int state) {}
};