Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ListAdapter出现奇怪的NullPointerException_Java_Android - Fatal编程技术网

Java ListAdapter出现奇怪的NullPointerException

Java ListAdapter出现奇怪的NullPointerException,java,android,Java,Android,好的,我创建了一个ListView和我自己的ListAdapter,但是每当我向ListAdapter添加结果时,它就会崩溃,说NullPointerException 当filldata()打开MyAdapter adapter=newmyadapter()时,我确实启动了adapter 我的代码: public void filldata() throws IOException{ MyAdapter adapter = new MyAdapter ();

好的,我创建了一个ListView和我自己的
ListAdapter
,但是每当我向
ListAdapter
添加结果时,它就会崩溃,说
NullPointerException

filldata()
打开
MyAdapter adapter=newmyadapter()时,我确实启动了
adapter

我的代码:

     public void filldata() throws IOException{
        MyAdapter adapter = new MyAdapter ();

        for (int i = 1; i <= 10; i++) {

            AdapterItem test = new AdapterItem(1+i, 2+i, 3+i);

            adapter.addAdapterItem(test);
        }

        setListAdapter(adapter);

    }
}

public class MyAdapter extends BaseAdapter {
    private List<AdapterItem> items;

    public void addAdapterItem(AdapterItem item) {
        items.add(item);
    }

    public int getCount() {
      return items.size();
    }

    public Object getItem(int position) {
      return items.get(position);
    }

    @Override
    public long getItemId(int position) {
            return position;
    }

    public View getView(int position, View convertView, ViewGroup parent){
      View rowView = getLayoutInflater().inflate(R.layout.searchitemview, parent);
      TextView firstTextView = (TextView) rowView.findViewById(R.id.txtTitle);
      firstTextView.setText(items.get(position).first);
      // do the same with second and third
      return rowView;
    }
}

class AdapterItem {
    public String first;
    public String second;
    public String third;

    public AdapterItem(String first, String second, String third) {
        this.first = first;
        this.second = second;
        this.third = third;
    }
}
public void filldata()引发IOException{
MyAdapter=新的MyAdapter();

对于
MyAdapter
构造函数中的(int i=1;iInitialize
items
。当您尝试添加项时,它是
null
,因此出现异常

items = new ArrayList<AdapterItem>();
items=newarraylist();

MyAdapter
构造函数中初始化
。当您尝试添加项时,它是
null
,因此出现异常

items = new ArrayList<AdapterItem>();
items=newarraylist();
在此处更改

public class MyAdapter extends BaseAdapter 
{
    private List<AdapterItem> items=new ArrayList<AdapterItem>();
}
公共类MyAdapter扩展了BaseAdapter
{
私有列表项=新的ArrayList();
}
您没有在
MyAdapter
类中实例化
item

在此处更改

public class MyAdapter extends BaseAdapter 
{
    private List<AdapterItem> items=new ArrayList<AdapterItem>();
}
公共类MyAdapter扩展了BaseAdapter
{
私有列表项=新的ArrayList();
}
您没有在
MyAdapter
类中实例化
item