Manipuler un EditTextPreference pour sauvegarder une préférence
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.
Code:
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) {
}
} |
La classe SettingsFragment correspondante
Code:
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);
}
} |
Et le xml
Code:
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> |
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.
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.