【发布时间】:2016-11-14 03:15:43
【问题描述】:
我的代码如下:
public class EventActivity extends AppCompatActivity {
ListView listView;
ItemAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.attaction_list);
ArrayList<Item> items = new ArrayList<>();
items.add(new Item("a", "a", a));
items.add(new Item("b", "b", b));
items.add(new Item("c", "c", c));
adapter = new ItemAdapter(this, items, R.color.event);
listView = (ListView) findViewById(R.id.list);
if(adapter != null) {
listView.setAdapter(adapter);
}
}
}
Andoid Studio 编辑器指出listView.setAdapter(adapter) 可能会导致空指针异常。谁能解释该警告的来源以及如何解决?
【问题讨论】:
-
ItemAdapter 类是我自定义的适配器类,它扩展了 ArrayAdapter。
-
你能显示 ItemAdapter 和 XML 布局 attaction_list 吗?
-
@MikeM。但该问题中没有人真正提供可能的解决方案。
-
是的,他们做到了。无论如何,这只是一个警告。确保
View在布局中,然后忽略它。或者到处放置不必要的空检查。如果您的View不在布局中,那么它应该 失败并出现异常。你无法改变findViewById()可以返回null的事实。