我有一个视图寻呼机,每次交换时都会从适配器返回相同的片段和不同的数据,但是尽管接收到不同的数据,但它一遍又一遍地显示相同的数据,我怎样才能使片段更新其数据< / p>
结构是,有一个片段有一个listview,当我点击listview项时它取代了一个有viewpager并设置其适配器的片段,适配器是FragmentPagerAdapter并返回一个带有参数的片段现在片段使用它的参数并且显示数据,每次调用适配器的getview返回具有不同数据的相同片段
这是代码:
单击列表项时:
viewPager.setAdapter(new ReportPaginationAdapter(getFragmentManager(), reportID, appointmentObjectArrayList, isFromList, listPosition ));
ReportPaginationFragment:
reportId = appointmentObjectArrayList.get(item++).getId();
return NewDrReportFragment.newInstance(reportId);
适配器:
error
appointmentObjectArrayList是具有数据
的arraylist提前致谢
答案 0 :(得分:3)
而不是addFragment
,replace
是更好的选择。
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container_body, fragment);
fragmentTransaction.commit();
答案 1 :(得分:0)
for (int i=0;i<categoryList.size();i++){
Category category=categoryList.get(i);
FoodFragment foodFragment = new FoodFragment();
foodFragment.setCategory(category);
pagerAdapter.addFragment(foodFragment, category.getName());
}
让我们举个例子。也许你没有正确地在pageAdapter上设置不同的数据。 您可以分享您的代码以获取更多信息吗?