Помогите пожалуйста решить проблему.
import android.database.Cursor;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.database.sqlite.SQLiteDatabase;
public class FragmentСategoriesSecond extends Fragment implements View.OnClickListener {
ListView userList;
DatabaseHelper databaseHelper;
SQLiteDatabase db;
Cursor userCursor;
SimpleCursorAdapter userAdapter;
public FragmentCategoriesSecond() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View v = inflater.inflate(R.layout.ex3, null);
userList = (ListView)v.findViewById(R.id.list_item);
databaseHelper = new DatabaseHelper(getActivity());
// создаем базу данных
databaseHelper.create_db();
return v;
}
@Override
public void onResume() {
super.onResume();
// открываем подключение
db = databaseHelper.open();
//получаем данные из бд в виде курсора
userCursor = db.rawQuery("select * from "+ DatabaseHelper.TABLE, null);
// определяем, какие столбцы из курсора будут выводиться в ListView
String[] headers = new String[] {DatabaseHelper.COLUMN_NAME, DatabaseHelper.COLUMN_NAME};
// создаем адаптер, передаем в него курсор
userAdapter = new SimpleCursorAdapter(getActivity(), android.R.layout.two_line_list_item,
userCursor, headers, new int[]{android.R.id.text1, android.R.id.text2}, 0);
userList.setAdapter(userAdapter);
}
@Override
public void onDestroy(){
super.onDestroy();
// Закрываем подключение и курсор
db.close();
userCursor.close();
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.button: {
break;
}
case R.id.button1: {
break;
}
}
}
}
Появляется ошибка
--------- beginning of crash
2019-03-19 16:26:53.033 28931-28931/ru.forestcode.receptapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: ru.forestcode.receptapp, PID: 28931
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
at ru.forestcode.receptapp.FragmentCategoriesSecond.onResume(FragmentCategoriesSecond.java:61)
at android.app.Fragment.performResume(Fragment.java:2399)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1032)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)
at android.app.BackStackRecord.run(BackStackRecord.java:815)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:483)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Это значит, что нужно открыть файл разметки (ex3.xml
) и обнаружить, что там нет <ListView>
вообще или у него другой id
(не list_item
) и исправить ситуацию.
То есть причина ошибки в том, что вызов v.findViewById(R.id.list_item);
не нашёл элемент с таким id
и вернул null
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Возникла проблема, которую не могу побороть уже второй день
Могу ли я имитировать действия пользователя в стороннем приложении? Например после выполнения, каких-либо действий в моем приложении, я через...
Постараюсь объяснить наиболее полноЕсть табличка в экселе, есть веб-интерфейс БД
У меня есть такая проблема, после одной проверки на соответствие с условием и после изменения я больше не могу вернуться и заново проверитьУ...