Android 优惠活动牛轧糖不起作用
我在android中使用了以下代码,但在android emulator中不起作用 给出以下错误Android 优惠活动牛轧糖不起作用,android,sharedpreferences,preferenceactivity,android-7.0-nougat,Android,Sharedpreferences,Preferenceactivity,Android 7.0 Nougat,我在android中使用了以下代码,但在android emulator中不起作用 给出以下错误 --------- beginning of crash 04-17 17:53:48.076 4802-4802/com.package E/AndroidRuntime: FATAL EXCEPTION: main Process: com.package, P
--------- beginning of crash
04-17 17:53:48.076 4802-4802/com.package E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.package, PID: 4802
android.view.InflateException: Binary XML file line #30: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.preference.Preference.onCreateView(Preference.java:510)
at android.preference.Preference.getView(Preference.java:487)
at android.preference.PreferenceGroupAdapter.getView(PreferenceGroupAdapter.java:246)
at android.widget.AbsListView.obtainView(AbsListView.java:2347)
at android.widget.ListView.makeAndAddView(ListView.java:1864)
at android.widget.ListView.fillDown(ListView.java:698)
at android.widget.ListView.fillFromTop(ListView.java:759)
at android.widget.ListView.layoutChildren(ListView.java:1673)
at android.widget.AbsListView.onLayout(AbsListView.java:2151)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15671)
at android.view.ViewGroup.layout(ViewGroup.java:5038)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843)
at android.view.ViewRootImpl
04-17 17:53:48.077 1965-2042/system_process W/ActivityManager: Force finishing activity 1 com.package/.MyTabActivity
下面是Settings.xml
文件的代码
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:switchpref="http://schemas.android.com/apk/res-auto"
android:persistent="true" >
<PreferenceCategory
android:key="@string/settings_general"
android:title="@string/settings_general" >
<ListPreference
android:key="@string/pitch_duration"
android:title="@string/pitch_duration"
android:defaultValue="@string/pitch_standard"
android:entries="@array/pitch"
android:entryValues="@array/pitch"
android:summary="@string/summary_pitch_duration"
/>
<ListPreference
android:key="@string/recording_type"
android:title="@string/recording_type"
android:defaultValue="@string/audio_recording"
android:entries="@array/recording_type"
android:entryValues="@array/recording_type"
android:summary="@string/summary_recording_type"
/>
<org.jraf.android.backport.switchwidget.SwitchPreference
android:key="@string/question_text"
android:title="@string/question_text"
switchpref:asb_summaryOff="@string/switch_prefs_question_text"
switchpref:asb_summaryOn="@string/switch_prefs_question_text"
switchpref:asb_switchTextOff="@string/off"
switchpref:asb_switchTextOn="@string/on"/>
<org.jraf.android.backport.switchwidget.SwitchPreference
android:key="@string/visualizer"
android:title="@string/visualizer"
android:defaultValue="false"
switchpref:asb_summaryOff="@string/switch_prefs_visualizer"
switchpref:asb_summaryOn="@string/switch_prefs_visualizer"
switchpref:asb_switchTextOff="@string/off"
switchpref:asb_switchTextOn="@string/on" />
<ListPreference
android:key="@string/visualizer_type"
android:title="@string/visualizer_type"
android:defaultValue="@string/visualizer_line"
android:entries="@array/visualizer_type"
android:entryValues="@array/visualizer_type"
android:summary="@string/summary_visualizer_type"
/>
<com.iq.android.preferences.AboutDialogPref
android:dialogLayout="@layout/dialog_about_layout"
android:key="funThing"
android:negativeButtonText="Cancel"
android:positiveButtonText="OK"
android:title="About" />
</PreferenceCategory>
</PreferenceScreen>
以上全部代码在android 4.4.4模拟器和设备中也能正常工作。最后我解决了我们的问题 下面的库中存在问题。这不适用于PreferenceFragment
因此,我已经实现了它。我建议您编辑这个问题并发布整个Java堆栈跟踪。我还建议您暂时注释掉第三方首选项,看看其中是否有一个是问题的根源。是的,我已尝试删除所有库并进行检查,但代码仍然不起作用。我将更新完整堆栈跟踪。您确定
org.jraf.android.backport.switchwidget.SwitchPreference
和com.iq.android.preferences.AboutDialogPref
是有效的类吗?仔细检查包名。是的,我已经在没有库的情况下测试了它,但它仍然不工作,然后我将删除所有其他库和更新代码。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:switchpref="http://schemas.android.com/apk/res-auto"
android:persistent="true" >
<PreferenceCategory
android:key="@string/settings_general"
android:title="@string/settings_general" >
<ListPreference
android:key="@string/pitch_duration"
android:title="@string/pitch_duration"
android:defaultValue="@string/pitch_standard"
android:entries="@array/pitch"
android:entryValues="@array/pitch"
android:summary="@string/summary_pitch_duration"
/>
<ListPreference
android:key="@string/recording_type"
android:title="@string/recording_type"
android:defaultValue="@string/audio_recording"
android:entries="@array/recording_type"
android:entryValues="@array/recording_type"
android:summary="@string/summary_recording_type"
/>
<org.jraf.android.backport.switchwidget.SwitchPreference
android:key="@string/question_text"
android:title="@string/question_text"
switchpref:asb_summaryOff="@string/switch_prefs_question_text"
switchpref:asb_summaryOn="@string/switch_prefs_question_text"
switchpref:asb_switchTextOff="@string/off"
switchpref:asb_switchTextOn="@string/on"/>
<org.jraf.android.backport.switchwidget.SwitchPreference
android:key="@string/visualizer"
android:title="@string/visualizer"
android:defaultValue="false"
switchpref:asb_summaryOff="@string/switch_prefs_visualizer"
switchpref:asb_summaryOn="@string/switch_prefs_visualizer"
switchpref:asb_switchTextOff="@string/off"
switchpref:asb_switchTextOn="@string/on" />
<ListPreference
android:key="@string/visualizer_type"
android:title="@string/visualizer_type"
android:defaultValue="@string/visualizer_line"
android:entries="@array/visualizer_type"
android:entryValues="@array/visualizer_type"
android:summary="@string/summary_visualizer_type"
/>
<com.iq.android.preferences.AboutDialogPref
android:dialogLayout="@layout/dialog_about_layout"
android:key="funThing"
android:negativeButtonText="Cancel"
android:positiveButtonText="OK"
android:title="About" />
</PreferenceCategory>
</PreferenceScreen>