android 4.3中的NullPointerException,从一个Activity返回到另一个Activity

时间:2013-11-05 05:35:38

标签: android android-fragments nullpointerexception

我有一个带有几个列表片段的mainActivity,例如A,B,C和D.这些片段在主要活动中的导航是A-> B-> C-> D.

从片段D中开始新的detailsActivity。当我按下后退按钮时在detailsActivity上,我应该使用选定的片段返回mainActivity。

除了android 4.3之外,这在Android的所有版本中都能正常工作。我得到了NullPointerException。我观察到的差异是在android 4.3上对onAreate方法的onAreate方法在mainActivity上调用,这在以前版本的andriod中没有发生。我无法找到解决方法,请帮助!!

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.main/com.app.main.MainActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
        at android.app.ActivityThread.access$600(ActivityThread.java:141)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5103)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:525)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at android.widget.ArrayAdapter.getCount(ArrayAdapter.java:330)
        at android.widget.ListView.setAdapter(ListView.java:463)
        at android.support.v4.app.ListFragment.setListAdapter(ListFragment.java:182)
        at android.support.v4.app.ListFragment.ensureList(ListFragment.java:365)
        at android.support.v4.app.ListFragment.onViewCreated(ListFragment.java:145)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:941)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
        at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1877)
        at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:552)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
        at android.app.Activity.performStart(Activity.java:5143)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)

1 个答案:

答案 0 :(得分:0)

在ListFragment初始化期间,ArrayAdapter.getCount发生崩溃,异常是NullPointerException。这意味着支持ListView的适配器正在使用null List<T>对象进行初始化。您应该查看您正在呼叫setListAdapter的位置以及初始化传入其中的列表的位置。您需要确保首先初始化您的列表。

如果您需要更具体的推荐,请发布您的ListFragment代码。