繁体   English   中英

片段内部的RecyclerView无法更新

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM