Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 首选片段兼容主题问题_Android_Android Theme_Android Preferences - Fatal编程技术网

Android 首选片段兼容主题问题

Android 首选片段兼容主题问题,android,android-theme,android-preferences,Android,Android Theme,Android Preferences,我正在使用PreferenceFragmentCompat作为我的首选项页面 public class SettingsFragment extends PreferenceFragmentCompat{ @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.pref_page, rootKey);

我正在使用PreferenceFragmentCompat作为我的首选项页面

public class SettingsFragment extends PreferenceFragmentCompat{


@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {

    setPreferencesFromResource(R.xml.pref_page, rootKey);

 } }
我在活动中使用这个主题,设置我的首选项FragmentCompat:

  <style name="SettingsTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:textColor">@color/text_color</item>
    <item name="android:windowBackground">@color/colorPrimaryDarkBackground</item>
    <item name="android:textColorPrimary">@color/text_color</item>
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
然后,我尝试如下定义我的自定义首选项样式:

    <style name="PreferenceThemeCustom" parent="PreferenceThemeOverlay.v14.Material">
    <item name="android:textColor">@color/text_color</item>
    <item name="android:windowBackground">@color/colorPrimaryDarkBackground</item>
    <item name="android:textColorPrimary">@color/text_color</item>
    <item name="android:divider">@color/text_color</item>
</style>

@颜色/文字颜色
@颜色/原色暗背景
@颜色/文字颜色
@颜色/文字颜色
但是设置parent=“PreferenceThemeOverlay.v14.Material”再次导致了这个问题:

替换
,我想这应该会有帮助

<style name="PreferenceThemeCustom" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:textColor">@color/text_color</item>
    <item name="android:windowBackground">@color/colorPrimaryDarkBackground</item>
    <item name="android:textColorPrimary">@color/text_color</item>
    <item name="android:divider">@color/text_color</item>
</style>
Fatal Exception: java.lang.IllegalStateException: Dialog view must contain an EditText with id @android:id/edit
   at androidx.preference.EditTextPreferenceDialogFragmentCompat.onBindDialogView(EditTextPreferenceDialogFragmentCompat.java:68)
   at androidx.preference.PreferenceDialogFragmentCompat.onCreateDialog(PreferenceDialogFragmentCompat.java:149)
   at androidx.fragment.app.DialogFragment.onGetLayoutInflater(DialogFragment.java:352)
   at androidx.fragment.app.Fragment.performGetLayoutInflater(Fragment.java:1383)
   at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:887)
   at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1233)
   at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1299)
   at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:688)
   at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2069)
   at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1859)
   at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1814)
   at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1721)

at androidx.fragment.app.FragmentManagerImpl$1.run(FragmentManagerImpl.java:147)
       at android.os.Handler.handleCallback(Handler.java:808)
       at android.os.Handler.dispatchMessage(Handler.java:101)
       at android.os.Looper.loop(Looper.java:166)
       at android.app.ActivityThread.main(ActivityThread.java:7529)
       at java.lang.reflect.Method.invoke(Method.java)           
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run                         (Zygote.java:245)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
    <style name="PreferenceThemeCustom" parent="PreferenceThemeOverlay.v14.Material">
    <item name="android:textColor">@color/text_color</item>
    <item name="android:windowBackground">@color/colorPrimaryDarkBackground</item>
    <item name="android:textColorPrimary">@color/text_color</item>
    <item name="android:divider">@color/text_color</item>
</style>