[英]RecyclerView inside of Fragment not updating
在我的應用程序中,我有一個ViewPager
,其中包含5個片段,每個片段中都有一個RecyclerView
。 單擊按鈕后,我需要刷新RecyclerView
的項目,以便將請求發送到服務器並在活動中獲得響應,然后調用notifyDataSetChanged();
對於我所有的RecyclerView
但更改只有在刷新2-3頁ViewPager
。 怎么了? 這是我的應用程序中的一些代碼
片段:
public class ReservedFragment extends Fragment {
List<ReservedTimesModel> arrayList;
ReservedTimesAdapter reservedTimesAdapter;
RecyclerView recyclerView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_reserved, container, false);
recyclerView = (RecyclerView) view.findViewById(R.id.fragment_recycle);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
if (arrayList != null) {
if (!arrayList.isEmpty()) {
reservedTimesAdapter = new ReservedTimesAdapter(arrayList, getActivity());
recyclerView.setAdapter(reservedTimesAdapter);
} else {
view.findViewById(R.id.textview).setVisibility(View.VISIBLE);
}
} else {
view.findViewById(R.id.textview).setVisibility(View.VISIBLE);
}
return view;
}
public void refresh() {
if (reservedTimesAdapter != null) {
if (arrayList.isEmpty()) {
getView().findViewById(R.id.textview).setVisibility(View.VISIBLE);
} else {
reservedTimesAdapter.notifyDataSetChanged();
}
}
}
適配器中Button
Click偵聽器內部的代碼:
context.getReserved();
為每個片段設置新列表后,刷新“活動”中的代碼:
viewPager.setVisibility(View.VISIBLE);
reservedFrag.refresh();
deprecatedFrag.refresh();
cancelledFrag.refresh();
cancelledByAdminFrag.refresh();
pendingFrag.refresh();
viewPager.setCurrentItem(4);
根據變量的值有條件地調用notifyDataSetChanged
。 也許根本沒有被調用。
由於代碼很少,因此很難確定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.