J'ai une activité dans laquelle ListView contient des éléments de disposition linéaire personnalisés pour chaque ligne. L'une des lignes a un bouton défini comme:Pourquoi l'événement OnClick de mes boutons ne se déclenche-t-il pas?
<Button
android:text="Pick a contact"
android:id="@+id/btnPickContact"
android:layout_width="wrap_content"
android:gravity="center_vertical"
android:layout_height="wrap_content"></Button>
Puis, en java, j'ai ce code:
((Button) row.findViewById(R.id.btnPickContact)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
intent.putExtra(EXTRA_ONLINE_ID, (String)v.getTag(TAG_ONLINE_ID));
act.startActivityForResult(intent, PICK_CONTACT);
}
});
Dans cette configuration l'événement ne démarre pas.
Aussi j'ai essayé en implémentant l'interface:
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
intent.putExtra(EXTRA_ONLINE_ID, (String)v.getTag(TAG_ONLINE_ID));
startActivityForResult(intent, PICK_CONTACT);
}
toujours pas de chance, l'événement ne se déclenche pas.
Que faire?
Cela fonctionne, mais pourquoi cela doit-il être fait? – Pentium10
Il s'agit d'une méthode alternative pour coder l'écouteur d'événement on-click. En effet, cela évite le problème, laissant le problème d'origine non résolu. –