J'ai une barre de titre Android (1.5) personnalisée qui comprend un bouton. En utilisant la barre de titre personnalisée de l'activité A, je suis capable de cliquer sur le bouton et de déclencher l'événement OnClickListener
comme prévu. Cependant, lorsque je lance l'activité B pour le résultat, à partir de l'activité A, il peut s'écouler 2 à 3 clics pour que le même événement de bouton se déclenche.Android Button OnClick événement déclenché après plusieurs clics
C'est le code pour définir l'écouteur d'événement pour l'activité A dans la onCreate
override
setTitleNegativeActionListener(new OnClickListener() {
public void onClick(View v) {
// end this activity
ActivityA.this.finish();
}
});
Voici le code pour l'activité B
setTitleNegativeActionListener(new OnClickListener() {
public void onClick(View v) {
setResult(RESULT_CANCELED);
EditClientAddressActivity.this.finish();
}
});
XML Bouton de mise en page
<Button
android:id="@+id/title_button_right"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/nav_button"
android:text="Done" android:textColor="#fff"
android:layout_alignParentRight="true" android:textSize="12dip"
android:textStyle="bold" android:paddingLeft="10dip"
android:paddingRight="10dip" android:layout_centerVertical="true"
android:minWidth="40dip"
android:focusableInTouchMode="false" android:focusable="false" />
Il semble que dans l'activité B, le premier clic est de mettre le bouton i nt se concentrer, et le deuxième clic est en fait appuyer sur le bouton. Cependant, j'ai défini les deux focusableInTouchMode
et focusable
comme faux dans la définition des boutons.
Y a-t-il une autre propriété à définir pour permettre à l'événement OnClickListener
de se déclencher dans ce cas?
EDIT: Après un peu plus enquête, je trouve que l'enfant l'activité B avait démarré deux fois (ou plus) et chaque clic du bouton fonctionnait bien comme prévu, mais avait l'impression que rien ne se passait. Réponse complète ci-dessous.