Здравия всем!
Вопрос в том, как именно прочитать такую ошибку:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.koshkin.pdfreaderj, PID: 4388
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
at com.koshkin.pdfreaderj.ui.pdfreader.PDFFragment.initViews(PDFFragment.java:81)
at com.koshkin.pdfreaderj.ui.pdfreader.PDFFragment.checkPermission(PDFFragment.java:150)
at com.koshkin.pdfreaderj.ui.pdfreader.PDFFragment.onCreateView(PDFFragment.java:69)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3104)
......
......
Понятно что происходит ссылка на еще не существующий объект, но что именно не создано ListView или адаптер.
Код работал без использования фрагментов, занялся переписыванием с фрагментами и не понимаю, что куда прикрутить.
Ну и вцелом, когда выскакивают такие ошибки непонятно толи
'void android.widget.ListView.setAdapter(android.widget.ListAdapter)'
ссылается на нулевой объект, тогда на какой, толи на него ссылаются тогда кто
76 public void initViews() {
// получаем путь до внешнего хранилища
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
initList(path);
// устанавливаем адаптер в ListView
<b>81</b> listView.setAdapter(adapter);
// когда пользователь выбирает PDF-файл из списка, открываем активность для просмотра
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getActivity(), PdfActivity.class);
intent.putExtra("keyName",arrayList.get(position).getFileName());
intent.putExtra("fileName", arrayList.get(position).getFilePath());
getActivity().startActivity(intent);
}
});
}
147 private void checkPermission() {
if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
&& ContextCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
150 initViews();
} else {
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_PERMISSION);
}
}
59 public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
binding = FragmentPdfBinding.inflate(inflater, container, false);
View root = binding.getRoot();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
checkPermission();
} else {
69 initViews();
}
return root;
}