ListView为空时应用程序崩溃|如果我使用ArrayList<>(),ListView不显示内容

时间:2018-06-19 09:38:28

标签: java android listview

我的 ListView 粉碎时为空。我想在它上面显示 EmptyView 。我发现很少'解决方案',但他们没有帮助我..我尝试过'List valueList = new ArrayList<>(); '并且 setEmptyView 正常工作,但当 ListView 不应该为空时我只看到 setEmptyView ... 请帮我解决一下,这是我的代码:

适配器:

List<User> valueList = new ArrayList<>();

这里我没有ArrayList的错误:

@Override
public int getCount()
{
    return this.valueList.size();
}

活动:

 @Override
    protected void onPostExecute(Void result)
    {
        progressBar.setVisibility(View.GONE);
        ListView.setVisibility(View.VISIBLE);
        ListAdapterClass adapter = new ListAdapterClass(studentList, context);
        if(adapter!=null && !adapter.isEmpty()) {

            ListView.setAdapter(adapter);
        } else {

            MessagesListView.setEmptyView(findViewById(R.id.tv_no_result));
        }
     }

错误(没有ArrayList)

java.lang.nullpointerexception: attemp to invoke interface method 'int java.util.List.size()' on a null object reference

1 个答案:

答案 0 :(得分:2)

试试这个

@Override
public int getCount()
{
    return this.valueList != null ?  this.valueList.size() : 0;
}