Страница 1 из 1

NPE на присвоении адаптера листу, при скрещивании двух проек

Добавлено: 23 май 2014, 03:56
AlexVinn
Скрещивал два проекта (ActionBar Tabs и CustomizeListView). Вообщем Табы и на них лист.
Все было хорошо, но при запуске выдает NPE при присвоении адаптера, когда формируется список на Табе.
Пол-ночи сижу и никак. Вроде всё правильно. Нужна Ваша помощь.

Ошибка
0java.lang.NullPointerException at com.example.listwithpic.Tab1.onCreateView(Tab1.java:72) at android.support.v4.app.Fragment.performCreateView(Fragment.j ava:1500)
Код (на последней строке ошибка)

[syntax=java5]list = (ListView) getActivity().findViewById(R.id.list);
// Getting adapter by passing xml data ArrayList
adapter = new LazyAdapter(getActivity(), songsList);
list.setAdapter(adapter);[/syntax]
Изначально этот адаптер был на MainActivity, а сейчас отдельным классом для каждого таба.
Сначала подчеркивало красным на поиске листа (первая строка и на создании (вторая)). Я поставил там getActivity(). Перестало подчеркивать и ошибок больше нет. Но при запуске NPE. Может я тут что-то не так сделал ?

Пожалуйста, помогите решить проблему. Заранее спасибо. Может если мало инфы, говорите что нужно....

Re: NPE на присвоении адаптера листу, при скрещивании двух п

Добавлено: 23 май 2014, 06:31
klblk
Не там ищете свой ListView. Судя по всему действия происходят в onCreateView фрагмента, значит нужно искать в том View которая эта функция возвращает.
что-то вроде:
[syntax=java] public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
list = (ListView) rootView.findViewById(R.id.list);
adapter = new LazyAdapter(getActivity(), songsList);
list.setAdapter(adapter);
return rootView;
}[/syntax]

где fragment_main.xml: layout содержащий ListView;