我正在创建一个应用程序,该应用程序从本地json
文件中读取数据并将其显示为Listview
。我还为此创建了一个自定义适配器。问题是当我使用getView
方法设置列表视图时,它说以下错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at com.example.nyqmind.jsondemo.MainActivity$MyCustomAdapter.getView
这是我的代码
public View getView(int position, View convertView, ViewGroup parent){
View row=convertView;
ViewHolder holder;
if(row==null) {
LayoutInflater inflater = (LayoutInflater) con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.listview_layout, parent, false);
holder=new ViewHolder();
holder.id= (TextView) findViewById(R.id.textView2);
holder.name= (TextView) findViewById(R.id.textView4);
row.setTag(holder);
}
else
{
holder= (ViewHolder) convertView.getTag();
}
Employee list=emp.get(position);
holder.id.setText(list.getid());
holder.name.setText(list.getName());
return row;
}
帮助我解决这个问题。
更改
holder.id= (TextView) findViewById(R.id.textView2);
holder.name= (TextView) findViewById(R.id.textView4);
自
holder.id= (TextView) row.findViewById(R.id.textView2);
holder.name= (TextView) row.findViewById(R.id.textView4);
您的holder.id
和holder.name
null
holder.id.setText(list.getid());
holder.name.setText(list.getName());