小编GIT*_*tEd的帖子

如何检测RecyclerView是否为空?

我有一个RecyclerView从服务器解析外部JSON数据.它工作正常,但JSON上的Volley异步任务有时需要一段时间,当它发生时,片段显示一个空的空白视图.

如何创建测试以检查视图是否为空并显示msg(如果是)?我试着检查:

if (recyclerView == null)
if (jsonList == null)
if (adapter.getItemCount() == 0)
if (bundle == null)
Run Code Online (Sandbox Code Playgroud)

但是这些测试要么不做任何事情,要么每次都显示错误消息,即使RecyclerView不为空.

这是片段上的代码:

public void onViewCreated(View view, Bundle savedInstanceState) {

    LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    layoutManager.supportsPredictiveItemAnimations();
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setClickable(true);
    recyclerView.setHasFixedSize(true);
    recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
    NovaAdapter novaAdapter = new NovaAdapter(getActivity(),jsonList);
    if (novaAdapter.getItemCount() != 0) {
        recyclerView.setAdapter(novaAdapter);
    }else{
        pDialog = new ProgressDialog(getActivity());
        pDialog.setMessage("Retrieving data from Server");
        pDialog.show();            
    }
    super.onViewCreated(view, savedInstanceState);
Run Code Online (Sandbox Code Playgroud)

和适配器上的方法:

@Override
public int getItemCount() {
    return (null != novaList ? novaList.size() : 0); …
Run Code Online (Sandbox Code Playgroud)

java android android-recyclerview

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1

android-recyclerview ×1

java ×1