У меня есть пейджер View внутри Fragment Activity и View pager Содержит два фрагмента в начале действия. У меня есть запрос на отдых, и когда я получаю ответ, я хочу обновить Views внутри каждого фрагмента и в каждом из них я использую getActivity, но моя проблема заключается в том, что я всегда получаю исключение null-указателя на getActivity только на планшетных устройствах, но я не получил эту проблему на мобильных телефонах.getActivity from фрагмент внутри View pager return null
это мой адаптер пейджера
public class Guide_ViewPager_adapter extends FragmentStatePagerAdapter {
private Guides_fragment guide_frag = new Guides_fragment();
private Maps_fragment maps_frag = new Maps_fragment();
public Guide_ViewPager_adapter(FragmentManager fm){
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return guide_frag;
case 1:
return maps_frag;
}
return null;
}
@Override
public int getCount() {
return 2;
}
}
LogCat сниппет:
неустранимые: Основной процесс: android.vi.com.vad, ПИД: 9554 java.lang.NullPointerException на android.vi.com.vad.Guides_fragment.update (Guides_fragment.java:138) в android.vi.com.vad.Guide_activity $ GuideTask.onPostExecute (Guide_activity.java:213) в android.vi.com.vad.Guide_activity $ GuideTask.onPostExecute (Guide_activity.java:165) в android.os .AsyncTask.finish (AsyncTask.java:632) на android.os.AsyncTask.access $ 600 (AsyncTask.java:177) на android.os.AsyncTask $ InternalHandler.handleMessage (AsyncTask.java:645) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:149) на android.app.ActivityThread.main (ActivityThread.java:5234) на java.lang.reflect.Method.invokeNative (собственный метод) на java.lang.reflect.Method.invoke (Method.java:515) на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:793) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:609) при г alvik.system.NativeStart.main (Родной метод)
Это метод, который я называем его изнутри активности, когда данные загружены
public void update(String result) {
if (animation != null) {
animation.reset();
animation.cancel();
}
if (loaderImage != null) {
loaderImage.clearAnimation();
loaderImage.setVisibility(View.GONE);
}
if (result.equalsIgnoreCase("null")) {
if (errorImage != null) {
errorImage.setVisibility(View.VISIBLE);
}
} else {
Guide_GridView_adapter adapter = new Guide_GridView_adapter(activity.getApplicationContext(), Guide_activity.Downloads_Guides);
guides_gridView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}
и здесь, когда я установить значение активности:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
this.activity = getActivity();
}
Вы используете другой планшет на планшете? Можете ли вы опубликовать функцию, содержащую getactivity, которая дает null? – QuantumTiger
Просьба указать logcat для точной отладки –
Спасибо, ребята за ваш ответ, я еще не создал планшет планшета, но я просто хочу проверить активность на планшете перед созданием планшета планшета – Tony