addHeaderView on ListFragment = NullPointerException - PullRequest
2 голосов
/ 06 февраля 2012

Я сталкиваюсь с проблемой при попытке добавить заголовок в список моего ListFragment.Я слышал, что должен был добавить представление заголовка перед setListAdapter (я следовал за этой темой Лучшее место для addHeaderView в 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)

Но адаптер не равен нулю, как и mHeaderView.У вас есть хоть какая-то подсказка о моей ошибке?Заранее спасибо!

1 Ответ

0 голосов
/ 29 февраля 2012

Я полагаю, что ваша проблема заключается в addHeaderView, вам, вероятно, не хватает раздувать представление перед тем, как поместить его в метод. Я не хочу получать кредиты, я столкнулся с той же проблемой и обнаружил, что ваша проблема, а также похожая проблема, которая, похоже, также решает вашу проблему:

Android добавляет нижний колонтитул в ListView addFooterView ()?

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...