我尝试运行的应用有问题。我有一个listview,它是由我在类的edittext中添加的名称组成的。当没有项目时,当我移动到listview时,应用程序崩溃并且我收到该错误:
java.lang.NullPointerException: Attempt to invoke interface method int java.util.List.size() on a null object reference
虽然我在listview中有一个或多个项目,但我可以看到它们没有崩溃或错误。你能帮我吗?以下是我的代码。
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();
中。如果您需要,我也可以发布我的代码的其他类。提前谢谢!
答案 0 :(得分:0)
嗨请在设置适配器代码之前检查。
if(yourDataList!=null && yourDataList.size() > 0 )
{
yourListOrRecyclerView.setAdapter(adapter);
}
请像上面那样解决你的问题。