【发布时间】:2014-12-18 00:51:00
【问题描述】:
我偶然发现了这个独特的发现。我的代码坏了,因为在我之前没有异常的情况下实现 LoaderManager 后,我在适配器上得到了 NullPointerException。
所以,我使用调试器并逐步执行我的 onCreate 方法:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mDrawerListView = (ListView) inflater.inflate(
R.layout.fragment_navigation_drawer, container, false);
// Irrelevant code removed
mDrawerListView.setAdapter(mAccountAdapter);
return mDrawerListView;
}
不相关的代码仅包括添加页脚视图和设置 onClickListeners,但在此方法(或任何其他方法)中,我没有一次将某些内容分配给 mAccountAdapter。我知道我应该这样做,而且我会这样做,但我犯了忘记这样做的错误。
当我使用调试器并在setAdapter(mAccountAdapter) 行设置断点时,我可以看到mAccountAdapter 为空。但是,我可以跳过它并继续前进,而不会出现空指针异常。为什么允许我将空值传递给该函数?
【问题讨论】:
标签: java android android-listview nullpointerexception android-adapter