2017-10-03 14 views
0

je crée le settings.xmlCS0117 t "ressources" ne contient pas de définition pour "Xml"

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.preference.PreferenceScreen 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/my_preferences_settings"> 
    <android.support.v7.preference.PreferenceCategory android:title="Category 1"> 
     <android.support.v7.preference.SwitchPreferenceCompat 
      android:key="key1" 
      android:title="Switch Preference" 
      android:summary="Switch Summary" 
      android:defaultValue="true" /> 
     <android.support.v7.preference.EditTextPreference 
      android:key="key2" 
      android:title="EditText Preference" 
      android:summary="EditText Summary" 
      android:dialogMessage="Dialog Message" 
      android:defaultValue="Default value" /> 
     <android.support.v7.preference.CheckBoxPreference 
      android:key="key3" 
      android:title="CheckBox Preference" 
      android:summary="CheckBox Summary" 
      android:defaultValue="true"/> 
    </android.support.v7.preference.PreferenceCategory> 
</android.support.v7.preference.PreferenceScreen> 

Ajouté le preferenceTheme dans styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    ..... 

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimary">@color/ColorActionBar</item> 
    <item name="colorPrimaryDark">@color/ColorActionBar</item> 
    <item name="colorAccent">@color/accent</item> 
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> 
    </style> 

    <style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:listDivider">@color/background3</item> 
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> 
    </style> 
    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 
    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 
</resources> 

Le SettingsFragment

using Android.OS; 
using Android.Views; 
using Android.Util; 
using Android.Preferences; 
using Android.Support.V7.Preferences; 

namespace Aprepara.Droid.Activities.Fragments 
{ 
    public class SettingsFragment : PreferenceFragmentCompat 
    { 
     public override void OnCreatePreferences(Bundle savedInstanceState, string rootKey) 
     { 
      AddPreferencesFromResource(Resource.Xml.settings); 
     } 

     public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
     { 
      Log.Info("Aprepara.Droid", "SettingsFragment"); 
      // Use this to return your custom view for this Fragment 
      return inflater.Inflate(Resource.Layout.settings, container, false); 
     } 
    } 
} 

mais il affiche l'erreur que XML ne fait pas t existe dans Resource.

J'utilise l'exemple comme référence ...

https://components.xamarin.com/gettingstarted/xamandroidsupportpreferences?version=23.2.1

Quelqu'un peut-il me aider? Pourquoi le XML n'existe-t-il pas dans Resource?

enter image description here

+1

Et dans quel dossier avez-vous mis votre settings.xml? – Cheesebaron

+0

Dans le dossier de disposition. J'ai ajouté l'image avec la structure de dossier –

Répondre

1

mais il affiche l'erreur que XML n'existe pas dans des ressources.

Créez un dossier xml dans votre Resourc dossier e et de mettre votre settings.xml dans ce dossier xml.

Effet:

enter image description here

+0

Hmm ... intéressant ... merci! –