Android 在notifyDataSetChanged上再次从ViewPager向片段传递参数
我是Android新手,不确定这是否是一个明智的问题,所以提前道歉。在过去的几个小时里,我一直在解决这个问题,但仍然没有什么好运气 我有一个带有2个片段和碎片的寻呼机。这两个片段都基于从具有viewpager的活动传递的ID值从数据库中获取数据。viewpager第一次创建片段时,我将该ID值作为捆绑包发送给getItem中带有setArgumentsbundle方法的片段,并在adapter类中覆盖该方法 我在ActionBar上有一个按钮,onClick更新活动中ID的值,更新FragmentPagerAdapter类中ID的值,并调用notifyDataSetChanged重新创建所有片段。问题是我第一次作为参数发送的ID没有更新,因为片段中的数据没有更新,因为它是基于ID值从DB中获取的 调用notifyDataSetChanged时,再次更新片段中的参数的最佳方法是什么 请帮助我找到合适的解决方案。先谢谢你 以下是3个类的相关代码摘录: 在活动课上: 在PagerAdapter类中 在片段类中:Android 在notifyDataSetChanged上再次从ViewPager向片段传递参数,android,android-fragments,Android,Android Fragments,我是Android新手,不确定这是否是一个明智的问题,所以提前道歉。在过去的几个小时里,我一直在解决这个问题,但仍然没有什么好运气 我有一个带有2个片段和碎片的寻呼机。这两个片段都基于从具有viewpager的活动传递的ID值从数据库中获取数据。viewpager第一次创建片段时,我将该ID值作为捆绑包发送给getItem中带有setArgumentsbundle方法的片段,并在adapter类中覆盖该方法 我在ActionBar上有一个按钮,onClick更新活动中ID的值,更新Fragmen
我面临着一个类似的问题,你解决了吗?
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Actionbar menu has NEXT menu option.
case R.id.next:
{
id++; //ID is the variable that's value is to be passed
mAdapter.setValue(id); //mAdapter is object of PagerAdapter class that extends FragmentPagerAdapter
mAdapter.notifyDataSetChanged();
invalidateOptionsMenu();
break;
}
public void setValue(String id) { //setter function for setting ID value
this.id = id;
}
//this is where first time arguments are passed to fragments
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
{
// Main Abstract Content Fragment
Bundle bundle = new Bundle();
bundle.putString("id", id);
AbstractContentTabFragment y = new AbstractContentTabFragment();
y.setArguments(bundle);
return y;
}
return null;
}
//I had to override this because I needed to re-create all fragments
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
//this is how id value is updated in fragment class
id = getArguments().getString("value");