尝试在ListFragment的List上添加标头时遇到问题。我听说我必须在setListAdapter之前添加标题视图(我遵循了这个主题Best place to addHeaderView in ListFragment),但是,它仍然无法正常工作。
这是我的代码:
@Override
public void onActivityCreated (Bundle savedInstanceState)
{
Log.i(General.TAG, "beginning of onActivityCreated");
super.onActivityCreated(savedInstanceState);
if (mheaderView != null) this.getListView().addHeaderView(getView().findViewById(R.layout.header)); // <= mheaderView is not null
ListView lv = getListView(); // <= lv is not null
lv.setAdapter(adapter);
Log.i(General.TAG, "end of onActivityCreated");
}
在
"lv.setAdapter(adapter)"
行上生成的堆栈跟踪就是这样的: 02-06 16:16:37.226: E/AndroidRuntime(25838): **java.lang.NullPointerException**
02-06 16:16:37.226: E/AndroidRuntime(25838): at android.widget.ListView.clearRecycledState(ListView.java:497)
02-06 16:16:37.226: E/AndroidRuntime(25838): at android.widget.ListView.resetList(ListView.java:483)
02-06 16:16:37.226: E/AndroidRuntime(25838): at android.widget.ListView.setAdapter(ListView.java:426)
02-06 16:16:37.226: E/AndroidRuntime(25838): at fr.pack.DetailFragment.onActivityCreated(DetailFragment.java:75)
但是适配器不为null,mHeaderView也不为空。您对我可能犯的错误有任何线索吗?提前致谢 !
最佳答案
我相信您的问题出在addHeaderView上,您可能缺少将视图放到方法上之前将其膨胀的想法。
我不希望有任何疑问,我只遇到了相同的问题,并且发现了您的问题以及似乎也可以解决您的问题的类似问题:
Android adding footer to ListView addFooterView()?
希望能帮助到你