ListFragment上的addHeaderView = NullPointerException

时间:2012-02-06 17:46:54

标签: android view android-fragments

当我尝试在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也不是。你对我可能犯过的错误有任何疑问吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

我相信你的问题在于addHeaderView,你可能会错过在将视图放到方法之前对视图进行膨胀。 我不想要任何学分,我只遇到同样的问题,发现你的问题以及类似的问题似乎也解决了你的问题:

Android adding footer to ListView addFooterView()?

希望有所帮助