OnItemClickListener ne fonctionnait pas avec la case à cocher?
J'ai un élément de mise en page comme ceci, et de définir l'arrière-plan en utilisant l'élément sélecteur de
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="@drawable/itemselector"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/message_row_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/message_row_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:textColor="@color/black" />
itemselector.xml :
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@color/yellow" />
<item
android:state_selected="true"
android:drawable="@color/green" />
<item
android:drawable="@color/white" />
</selector>
J'ai une ListView qui sera le contenu de certains articles. Ensuite, j'ai utilisé setOnItemClickListener() mais ça ne fonctionne pas. J'ai trouvé que si je supprime la case de l'élément, tout sera okey.
Quel était le problème entre la case et l'auditeur ici?
Pouvez-vous me donner une solution?
Mise à jour : C'est le code de l'auditeur
mainListView.setAdapter(messageAdapter);
mainListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Message p = (Message) arg0.getItemAtPosition(arg2);
Toast.makeText(TarsiusActivity.this, p.getTitle(), Toast.LENGTH_LONG);
Log.i("Item Clicked", p.getTitle());
}
});
ps: je veux faire de la boîte de réception comme gmail sur android. Chaque ligne a une case à cocher et l'utilisateur peut cliquer sur l'item si ils veulent voir le message
source d'informationauteur TrungNguyen
Vous devez vous connecter pour publier un commentaire.
La onItemClickListener pour la liste ne fonctionnera pas si vous avez des clickables comme les boutons, les ImageButton, Case à cocher, etc ... dans la listView. Ajouter
Reportez-vous ListView OnItemClickListener De Ne Pas Répondre?
Meilleure façon de le faire est de définir ces propriétés suivantes pour votre case:
J'ai eu le même problème et l'a fait.
Juste ajouter
android:descendantFocusability="blocksDescendants"
De votre haut niveau LinearLayout de la listitem.
Vous pourriez ajouter ce code dans votre
OnItemClickListener
méthode:Utilisation
setOnCheckedChangeListener
au lieu deonItemClickListne
r pour case