ListView setAdapter()NullPointer异常(使用Inflater)

时间:2013-11-19 15:15:47

标签: java android listview adapter

我想从ArrayList填充ListView,这是我的代码:

rootView = inflater.inflate(R.layout.verein_layout, container, false);

ListView veaList = (ListView)getView().findViewById(R.id.veaList);
ArrayList<String> items = new ArrayList<String>();

这些项目在这里填写......然后这段代码:

ListAdapter adapter = new ArrayAdapter(inflater.getContext(),
android.R.layout.simple_list_item_2, android.R.layout.simple_list_item_1, items);

veaList.setAdapter(adapter);

不幸的是,代码抛出了NullPointerException。我做错了什么?

提前致谢,

forumfresser

3 个答案:

答案 0 :(得分:4)

试试这个..

更改以下行

ListView veaList = (ListView)getView().findViewById(R.id.veaList);

as

ListView veaList = (ListView) rootView.findViewById(R.id.veaList);

因为getView()将视图返回为 null ,这就是错误的原因。所以你应该使用rootView,因为主视图......

答案 1 :(得分:0)

getView()返回您在onCreateView内膨胀并返回的视图,因此在onCreateView中使用它是错误的,因为它还没有&#34;可用&#34;。

答案 2 :(得分:0)

试试这个......

ListAdapter adapter = new ArrayAdapter(inflater.getContext(),
android.R.layout.simple_list_item_2, items);