Когда я нажимаю кнопку «Назад» в своем приложении, я получаю исключение NullPointerException в методе getResource (). getResource используется в URL-адресе и вызывается в glideApp.
мой код
private void setupPostUserImage(ImageView image, PostDetail detail) {
mUserPicture.setVisibility(View.VISIBLE);
String url = getActivity().getResources().getString(R.string.profile_image_path1) + "/" + detail.getUser_id_fk() + "/thumb/" + detail.getProfile_picture();
//Toast.makeText(getContext(),url,Toast.LENGTH_LONG).show();
GlideApp.with(image.getContext())
.load(url)
.placeholder(R.drawable.ic_avtar_male)
.into(image);
}
Это мой отчет о сбое из logcat
Process: com.ATG.World, PID: 24491
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.support.v4.app.FragmentActivity.getResources()' on a null object reference
at com.ATG.World.fragments.ArticleDetailFragment2.setupPostUserImage(ArticleDetailFragment2.java:316)
at com.ATG.World.fragments.ArticleDetailFragment2.setData(ArticleDetailFragment2.java:301)
at com.ATG.World.fragments.ArticleDetailFragment2$1.onResponse(ArticleDetailFragment2.java:176)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:71)
at android.os.Handler.handleCallback(Handler.java:898)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:198)
at android.app.ActivityThread.main(ActivityThread.java:6716)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
12-21 19:38:17.829 24491-24491/com.ATG.World I/Process: Sending signal. PID: 24491 SIG: 9
что мне делать, чтобы разрешить это исключение?
Я прошел через это, но не могу найти решения своей проблемы.
Похоже, ваш getActivity() возвращает null, потому что ваш фрагмент был уничтожен
У вашего кода есть возможность взломать каждую точку (.). Если getActivity () имеет значение null, он прерывается. Если getActivity (). GetResources () имеет значение null, он прерывается. Поэтому, прежде чем использовать оператор точки для любого объекта, выполните нулевую проверку, а затем получите доступ к объекту / функции.
У меня сработала нулевая проверка @MukeshVerma. Спасибо за помощь




У меня нет репутации, чтобы комментировать, поэтому я должен написать ответ. Похоже, что ваш фрагмент не привязан к активности, поэтому метод getActivity () возвращает null. Посмотри этот ответ может будет пригодится getActivity () возвращает null в функции фрагмента
Возможный дубликат Что такое исключение NullPointerException и как его исправить?