Java ListPreference标记导致我的应用程序崩溃
我尝试了Java代码极客的一个示例代码 单击设置浮动操作栏时出现问题:由于以下原因导致应用程序崩溃: 致命异常:主Java ListPreference标记导致我的应用程序崩溃,java,android,crash,listpreference,Java,Android,Crash,Listpreference,我尝试了Java代码极客的一个示例代码 单击设置浮动操作栏时出现问题:由于以下原因导致应用程序崩溃: 致命异常:主 流程:com.sano.tamer.androidsettings,PID:32035 java.lang.RuntimeException:无法启动活动组件信息{com.sano.tamer.androidsettings/com.sano.tamer.androidsettings.SettingsActivity}:android.view.InflateException:
流程:com.sano.tamer.androidsettings,PID:32035
java.lang.RuntimeException:无法启动活动
组件信息{com.sano.tamer.androidsettings/com.sano.tamer.androidsettings.SettingsActivity}:android.view.InflateException:二进制XML文件行#14:膨胀类java.lang.reflect.Constructor时出错 当我评论ListPreference标签时,它工作了,并且打开了preference活动,我复制并粘贴了preference文件,那么问题出在哪里呢? 我正在使用Android studio 2.1.2 多谢各位 我的设备是Asus Fonepad 7 FE375CG,运行Kitkat 下面是完整的错误日志:
07-23 07:06:28.629 5034-5034/com.sano.tamer.androidsettings E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sano.tamer.androidsettings, PID: 5034
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sano.tamer.androidsettings/com.sano.tamer.androidsettings.SettingsActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class java.lang.reflect.Constructor
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:149)
at android.app.ActivityThread.main(ActivityThread.java:5252)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class java.lang.reflect.Constructor
at android.preference.GenericInflater.createItem(GenericInflater.java:397)
at android.preference.GenericInflater.onCreateItem(GenericInflater.java:417)
at android.preference.GenericInflater.createItemFromTag(GenericInflater.java:428)
at android.preference.GenericInflater.rInflate(GenericInflater.java:481)
at android.preference.GenericInflater.rInflate(GenericInflater.java:493)
at android.preference.GenericInflater.inflate(GenericInflater.java:326)
at android.preference.GenericInflater.inflate(GenericInflater.java:263)
at android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:272)
at android.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:1472)
at com.sano.tamer.androidsettings.SettingsActivity.onCreate(SettingsActivity.java:11)
at android.app.Activity.performCreate(Activity.java:5403)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:149)
at android.app.ActivityThread.main(ActivityThread.java:5252)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.preference.GenericInflater.createItem(GenericInflater.java:383)
at android.preference.GenericInflater.onCreateItem(GenericInflater.java:417)
at android.preference.GenericInflater.createItemFromTag(GenericInflater.java:428)
at android.preference.GenericInflater.rInflate(GenericInflater.java:481)
at android.preference.GenericInflater.rInflate(GenericInflater.java:493)
at android.preference.GenericInflater.inflate(GenericInflater.java:326)
at android.preference.GenericInflater.inflate(GenericInflater.java:263)
at android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:272)
at android.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:1472)
at com.sano.tamer.androidsettings.SettingsActivity.onCreate(SettingsActivity.java:11)
at android.app.Activity.performCreate(Activity.java:5403)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:149)
at android.app.ActivityThread.main(ActivityThread.java:5252)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.content.res.AssetManager.getResourceTextArray(AssetManager.java:215)
at android.content.res.Resources.getTextArray(Resources.java:454)
at android.content.res.TypedArray.getTextArray(TypedArray.java:629)
at android.preference.ListPreference.<init>(ListPreference.java:51)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at android.preference.GenericInflater.createItem(GenericInflater.java:383)
at android.preference.GenericInflater.onCreateItem(GenericInflater.java:417)
at android.preference.GenericInflater.createItemFromTag(GenericInflater.java:428)
at android.preference.GenericInflater.rInflate(GenericInflater.java:481)
at android.preference.GenericInflater.rInflate(GenericInflater.java:493)
at android.preference.GenericInflater.inflate(GenericInflater.java:326)
at android.preference.GenericInflater.inflate(GenericInflater.java:263)
at android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:272)
at android.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:1472)
at com.sano.tamer.androidsettings.SettingsActivity.onCreate(SettingsActivity.java:11)
at android.app.Activity.performCreate(Activity.java:5403)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:149)
at android.app.ActivityThread.main(ActivityThread.java:5252)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
at dalvik.system.NativeStart.main(Native Method)
07-23 07:06:28.629 5034-5034/com.sano.tamer.androidsettings E/AndroidRuntime:致命异常:main
进程:com.sano.tamer.androidsettings,PID:5034
java.lang.RuntimeException:无法启动活动组件信息{com.sano.tamer.androidsettings/com.sano.tamer.androidsettings.SettingsActivity}:android.view.InflateException:二进制XML文件行#14:膨胀类java.lang.reflect.Constructor时出错
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
在android.app.ActivityThread.access$800(ActivityThread.java:139)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:149)
位于android.app.ActivityThread.main(ActivityThread.java:5252)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
在dalvik.system.NativeStart.main(本机方法)
原因:android.view.InflateException:二进制XML文件行#14:膨胀类java.lang.reflect.Constructor时出错
位于android.preference.GenericInflater.createItem(GenericInflater.java:397)
位于android.preference.GenericInflater.onCreateItem(GenericInflater.java:417)
位于android.preference.GenericInflater.createItemFromTag(GenericInflater.java:428)
位于android.preference.genericinflate.rInflate(genericinflate.java:481)
位于android.preference.genericinflate.rInflate(genericinflate.java:493)
在android.preference.GenericInflater.inflate(GenericInflater.java:326)
在android.preference.GenericInflater.inflate(GenericInflater.java:263)
在android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:272)中
位于android.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:1472)
位于com.sano.tamer.androidsettings.SettingsActivity.onCreate(SettingsActivity.java:11)
位于android.app.Activity.performCreate(Activity.java:5403)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
在android.app.ActivityThread.access$800(ActivityThread.java:139)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:149)
位于android.app.ActivityThread.main(ActivityThread.java:5252)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.reflect.InvocationTargetException
位于java.lang.reflect.Constructor.constructNative(本机方法)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:423)
位于android.preference.GenericInflater.createItem(GenericInflater.java:383)
位于android.preference.GenericInflater.onCreateItem(GenericInflater.java:417)
位于android.preference.GenericInflater.createItemFromTag(GenericInflater.java:428)
位于android.preference.genericinflate.rInflate(genericinflate.java:481)
位于android.preference.genericinflate.rInflate(genericinflate.java:493)
在android.preference.GenericInflater.inflate(GenericInflater.java:326)
在android.preference.GenericInflater.inflate(GenericInflater.java:263)
在android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:272)中
位于android.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:1472)
位于com.sano.tamer.androidsettings.SettingsActivity.onCreate(SettingsActivity.java:11)
位于android.app.Activity.performCreate(Activity.java:5403)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396)
在android.app.ActivityThread.access$800(ActivityThread.java:139)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:149)
位于android.app.ActivityThread.main(ActivityThread.java:5252)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.NullPointerException
位于android.content.res.AssetManager.getResourceTextAr
Caused by: java.lang.NullPointerException
at android.content.res.AssetManager.getResourceTextArray(AssetManager.java:215)
at android.content.res.Resources.getTextArray(Resources.java:454)
at android.content.res.TypedArray.getTextArray(TypedArray.java:629)
at android.preference.ListPreference.<init>(ListPreference.java:51)
<ListPreference
...
android:entries="@array/entries_text"
android:entryValues="@array/entries_values"
... />
<string-array name="entries_text">
<item>entries 1</item>
<item>entries 2</item>
<item>entries 3</item>
</string-array>
<string-array name="entries_values">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>