Java listview为空时应用程序崩溃
我尝试运行的应用程序有问题。我有一个listview,它由我在类的edittext中添加的名称组成。当没有项目时,当我移动到listview时,应用程序崩溃,并出现错误: java.lang.NullPointerException:尝试在空对象引用上调用接口方法int java.util.List.size 当我在listview中有一个或多个项目时,我可以看到它们而不会出现崩溃或错误。你能帮我吗?下面是我的代码Java listview为空时应用程序崩溃,java,android,listview,Java,Android,Listview,我尝试运行的应用程序有问题。我有一个listview,它由我在类的edittext中添加的名称组成。当没有项目时,当我移动到listview时,应用程序崩溃,并出现错误: java.lang.NullPointerException:尝试在空对象引用上调用接口方法int java.util.List.size 当我在listview中有一个或多个项目时,我可以看到它们而不会出现崩溃或错误。你能帮我吗?下面是我的代码 public class ListAdapter extends BaseAda
public class ListAdapter extends BaseAdapter {
Context context;
List<Student> valueList;
public ListAdapter(List<Student> listValue, Context context)
{
this.context = context;
this.valueList = listValue;
}
@Override
public int getCount()
{
return this.valueList.size();
}
@Override
public Object getItem(int position)
{
return this.valueList.get(position);
}
@Override
public long getItemId(int position)
{
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewItem viewItem;
convertView = null;
if(convertView == null)
{
viewItem = new ViewItem();
LayoutInflater layoutInfiater = (LayoutInflater)this.context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = layoutInfiater.inflate(R.layout.listviewitem, null);
viewItem.TextViewStudentName = (TextView)convertView.findViewById(R.id.textView1);
convertView.setTag(viewItem);
}
else
{
viewItem = (ViewItem) convertView.getTag();
}
viewItem.TextViewStudentName.setText(valueList.get(position).StudentName);
return convertView;}}
class ViewItem{TextView TextViewStudentName;}
错误位于命令return this.valueList.size;中;。如果需要,我也可以发布代码的其他类。提前谢谢你 您好,请在设置适配器代码之前进行检查
if(yourDataList!=null && yourDataList.size() > 0 )
{
yourListOrRecyclerView.setAdapter(adapter);
}
请按照上面解决问题的方法操作。将代码张贴在向适配器发送项目的位置。因为valueList为空。null不为空,但为null.create valueList=new ArrayList;如果列表中的listValue=nullconstructor@TruongGiangDam这解决了我的问题。多谢各位@Alex welcome:您还应该在传递到适配器之前验证null listValue他可能忘记初始化list=new ArrayList;将这两个条件分开比较好,我认为iflist==null{//do sth…尝试找出导致列表为null的原因。}iflist.size>0{//您可以向用户显示这是一个空列表。这是一个很好的实践。}