bonjour,
j'ai besoin de sauvegarder une adresse IP sous la forme d'une string.
J'ai donc une activité dédiée avec fragment et layout pour proposer un EditTextPreference à l'utilisateur.
La classe SettingsFragment correspondante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment SettingsFragment as the main content. getFragmentManager().beginTransaction() .replace(android.R.id.content, new SettingsFragment()) .commit(); } public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { } }
Et le xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class SettingsFragment extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.preferences); } }
L' activité SettingsActivity s'affiche, j'ai le clavier virtuel pour entrer un adresse IP mais je n'arrive pas du tout à la lire pour l'afficher dans le TextView puis stocker dans une préférence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <EditTextPreference android:title="adresse Ip du serveur" android:id="@id/addrIP" android:key="EdTPrefs" android:defaultValue="0.0.0.0" android:text="0.0.0.1" /> </PreferenceScreen>
Je n'arrive donc pas à rentrer dans la méthode onSharedPreferenceChanged.
J'ai lu beaucoup de choses à propos du widget EditTextPreference mais je ne m'en sors pas.
Merci de votre aide.
Partager