Note that there are some explanatory texts on larger screens.

plurals
  1. PONullPointerException with fragments
    primarykey
    data
    text
    <p>My application contains ViewPager in MainActivity with two fragments. First fragment contains ListView. I never see this, but I see reports from users about RuntimeException in Google Play:</p> <pre><code>java.lang.RuntimeException: Unable to resume activity {com.my.project/com.my.project.MainActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {com.my.project/com.my.project.MainActivity}: java.lang.NullPointerException at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2120) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668) at android.app.ActivityThread.access$1500(ActivityThread.java:117) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3683) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:875) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {com.my.project/com.my.project.MainActivity}: java.lang.NullPointerException at android.app.ActivityThread.deliverResults(ActivityThread.java:2532) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2107) ... 12 more Caused by: java.lang.NullPointerException at com.my.project.FirstFragment.load(FirstFragment.java:551) at com.my.project.MainActivity.onActivityResult(MainActivity.java:132) at android.app.Activity.dispatchActivityResult(Activity.java:3908) at android.app.ActivityThread.deliverResults(ActivityThread.java:2528) ... 13 more </code></pre> <p>Here is code from FirstFragment.java:</p> <pre><code>public class FirstFragment extends Fragment { ArrayList&lt;ListItemObject&gt; listItems = null; ArrayAdapter&lt;ListItemObject&gt; mAdapter; void load() { mAdapter.clear(); // I get error here, that is FirstFragment.java:551 ... } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); listItems = new ArrayList&lt;ListItemObject&gt;(); mAdapter = new MyAdapter(getActivity(), listItems); listView.setAdapter(mAdapter); } } </code></pre> <p>That is all occuerences of mAdapter. And I can't understand, how it can cause NullPointerException. I think that sometimes Fragment1 destroying and recreating, but without onCreateView(). <strong>I talk with one of users which have this problem and he say me, that this bug run away after he uncheck "Don't keep activities" in "Developer options" in settings.</strong> I don't know, can I fix it? Or I need to say all my users "uncheck this option"?</p> <p>In my NainActivity:</p> <pre><code>public class MainActivity extends FragmentActivity { Vector&lt;Fragment&gt; fragments; ViewPager viewPager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); viewPager = (ViewPager) findViewById(R.id.pager); fragments = new Vector&lt;Fragment&gt;(); fragments.add(Fragment.instantiate(this, Fragment1.class.getName())); fragments.add(Fragment.instantiate(this, Fragment2.class.getName())); viewPager.setOffscreenPageLimit(fragments.size()); PagerAdapter pagerAdapter = new PagerAdapter(super.getSupportFragmentManager(), fragments); viewPager.setAdapter(pagerAdapter); viewPager.setCurrentItem(0); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode==1) { ((MainChat)fragments.get(0)).load(); } } class PagerAdapter extends FragmentPagerAdapter implements IconPagerAdapter { private List&lt;Fragment&gt; fragments; public PagerAdapter(FragmentManager fm, List&lt;Fragment&gt; fragments) { super(fm); this.fragments = fragments; } @Override public Fragment getItem(int position) { return this.fragments.get(position); } @Override public int getCount() { return this.fragments.size(); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload