Android空对象引用异常

Android空对象引用异常,android,json,gson,Android,Json,Gson,我正在创建一个应用程序,它从本地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

我正在创建一个应用程序,它从本地
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
holder.name

 holder.id.setText(list.getid());
 holder.name.setText(list.getName());
另外,如果
list.getId()
返回一个数字,请在设置文本之前将其转换为字符串,否则将得到
ResourceNotFoundException
 holder.id.setText(list.getid());
 holder.name.setText(list.getName());