Aller au contenu

Comment récupérer les evenements des éléments d'une PreferenceActivity ?


Oreste

Recommended Posts

Bonjour à tous

J'ai une petite question sur les PreferenceActivity. En effet j'ai crée l'écran de préférences suivant :

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="TAC configuration">
	<EditTextPreference android:key="tac_url"
		android:title="TAC Url"
		android:summary="Enter your TAC Url with the port number (ex: http://localhost:8080)">
</EditTextPreference>
</PreferenceCategory>

Lorsque l'utilisateur finit la saisie de l'URL dans le champ de saisie (EditText) j'aimerai déclencher immédiatement un test de l'URL pour vérifier qu'elle répond bien et dans le cas contraire afficher un message d'erreur. Par contre dans ma classe je ne sais pas comment récupérer l'élément EditText en question pour implémenter cette fonction.

public class SettingsManager extends PreferenceActivity {
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
       addPreferencesFromResource(R.xml.preferences_settings);

}
}

Pouvez vous m'aider ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

J'ai trouvé la réponse dans mon sommeil :)

public class SettingsManager extends PreferenceActivity implements OnSharedPreferenceChangeListener {
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
       addPreferencesFromResource(R.xml.preferences_settings);

       getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
	//Toast.makeText(this, key, Toast.LENGTH_LONG).show();
	if(key.equals("tac_url")) {
		//Tester TAC, et le Webservice
	}
}
}

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...