1

android dev에 새로 추가되었습니다. iOS에서 어두운쪽으로 전환 했으므로 싫어하십시오.PreferenceFragmentCompat 테마에 preferenceTheme을 지정해야합니다.

질문 : 내가 내 Gradle을에 compile 'com.android.support:preference-v7:27.0.0'을 추가했다. styles.xml에 테마를 지정했습니다. 그러나, 나는 여전히 아래와 같은 오류 메시지가 나타납니다. 이 문제를 해결하는 방법?

java.lang.IllegalStateException: Must specify preferenceTheme in theme 

at android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:211) 

참조 : Stackoverflow answer, Medium article

SettingsFragment

public class SettingsFragment extends PreferenceFragmentCompat { 
    private SwitchPreferenceCompat receiveReminders; 
    private ListPreference notifyMe; 

    @Override 
    public void onCreatePreferences(@Nullable Bundle savedInstanceState, String rootKey) 
    { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.preferences); 

     receiveReminders = (SwitchPreferenceCompat) findPreference(R.string.key_receive_reminders); 
     notifyMe = (ListPreference) findPreference(R.string.key_notify_me); 
    } 
} 

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> 
</style> 

preferences.xml로

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
<PreferenceCategory 
    android:title="@string/settings_category_notifications"> 
    <SwitchPreferenceCompat 
     android:key="@string/key_receive_reminders" 
     android:title="@string/settings_receive_reminders" 
     android:defaultValue="true"/> 
    <ListPreference 
     android:key="@string/key_notify_me" 
     android:title="@string/settings_notify_me" 
     android:summary="%s" 
     android:entries="@array/settings_notify_me_titles" 
     android:entryValues="@array/settings_notify_me_titles" 
     android:defaultValue="@string/notify_me_2_hours" 
     android:positiveButtonText="@null" 
     android:dependency="@string/key_receive_reminders"/> 
</PreferenceCategory> 
</PreferenceScreen> 

답변

0

당신의 AndroidManifest.xml 파일은 찾을 수 없습니다 당신의 응용 프로그램 및/또는 활동 그렇지 않으면 preferenceTheme의 테마를 설정되어 있는지 확인합니다 :

<activity 
    android:name=".MainActivity" 
    android:theme="@style/AppTheme"> 
</activity>