Je suis assez novice en matière de développement Android et je viens de découvrir les préférences. J'ai trouvé PreferenceScreen
et je voulais créer une fonctionnalité de connexion avec elle. Le seul problème que j'ai, c'est que je ne sais pas comment ajouter un bouton "Connexion" à la page d'accueil. PreferenceScreen
.
Voici ce que mon PreferenceScreen
ressemble :
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
...
<PreferenceScreen android:title="@string/login" android:key="Login">
<EditTextPreference android:persistent="true" android:title="@string/username" android:key="Username"></EditTextPreference>
<EditTextPreference android:title="@string/password" android:persistent="true" android:password="true" android:key="Password"></EditTextPreference>
</PreferenceScreen>
...
</PreferenceScreen>
Le bouton doit se trouver juste en dessous des deux EditTextPreference
s.
Existe-t-il une solution simple pour ce problème ? La seule solution que j'ai trouvée ne fonctionne pas parce que j'utilise des sub PreferenceScreen
s.
Mise à jour :
J'ai découvert que je pouvais ajouter des boutons de cette façon :
<PreferenceScreen android:title="@string/login" android:key="Login">
<EditTextPreference android:persistent="true" android:title="@string/username" android:key="Username"></EditTextPreference>
<EditTextPreference android:title="@string/password" android:persistent="true" android:password="true" android:key="Password"></EditTextPreference>
<Preference android:layout="@layout/loginButtons" android:key="loginButtons"></Preference>
</PreferenceScreen>
et le fichier de mise en page ( loginButtons.xml
) ressemble à ça :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:weightSum="10"
android:baselineAligned="false" android:orientation="horizontal">
<Button android:text="Login" android:layout_width="fill_parent"
android:layout_weight="5" android:layout_height="wrap_content"
android:id="@+id/loginButton" android:layout_gravity="left"></Button>
<Button android:text="Password?" android:layout_width="fill_parent"
android:layout_weight="5" android:layout_height="wrap_content"
android:id="@+id/forgottenPasswordButton"></Button>
</LinearLayout>
Donc maintenant les boutons apparaissent mais je ne peux pas y accéder en code. J'ai essayé avec findViewById()
mais il renvoie un résultat nul. Avez-vous une idée de la façon dont je pourrais accéder à ces boutons ?
0 votes
Regardez cette question stackoverflow.com/questions/2697233/
2 votes
BTW, la réponse de @neelabh est très simple - vous pouvez obtenir le comportement requis en spécifiant l'hanlder d'événement dans le xml-layout : ajoutez simplement
android:onClick="method"
à chaque bouton, la méthode étant définie dans l'activité comme suitpublic void method(View v)
.