初始化数组适配器和listarray错误空指针

时间:2014-08-05 03:31:19

标签: android arraylist android-arrayadapter

我不明白发生了什么

 public class MainActivity extends Activity {

    ArrayAdapter<String> aa;
    ArrayList<ArrayList<String>> l=null;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        place = (AutoCompleteTextView)findViewById(R.id.place);
        aa=new ArrayAdapter<String(getBaseContext(),android.R.layout.simple_list_item_1,l.get(0) );
        place.setAdapter(aa);
    }
}

但是由于java.lang.NullPointerExeption,创建新的ArrayAdapter实例会导致运行时错误。我不明白为什么以及如何解决这个问题: - /

2 个答案:

答案 0 :(得分:2)

检查此行:

aa=new ArrayAdapter<String(getBaseContext(),android.R.layout.simple_list_item_1,l.get(0) );

这里使用l.get(0)为null,因为l永远不会被初始化。

答案 1 :(得分:0)

这里l.get(0)投掷了NPE。您需要初始化ArrayList<ArrayList<String>> l喜欢,

 ArrayList<ArrayList<String>> l = new ArrayList<ArrayList<String>>();