OnItemClickListener no funcionó con la casilla de verificación?
Tengo una disposición del artículo como esto, y fijo el fondo usando el selector del artículo
<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:
- Creación de una casilla de verificación de tres estados en android
- Cómo personalizar (aumentar el tamaño) de la casilla de verificación en Android
- Establecer la posición dinámica de brindis en una vista
- Seleccione sólo una casilla de verificación
- Cómo tachar los elementos de texto en listview cuando está marcada?
<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>
Tengo un ListView que contendrá algunos artículos. Entonces utilicé setOnItemClickListener () pero no funciona. Encontré que si quito la casilla de verificación en el artículo, todo será okey.
¿Cuál fue el problema entre la casilla de verificación y el oyente? ¿Me puede dar una solución?
Actualización: Este es el código de escucha
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: Quiero hacer la bandeja de entrada como gmail en android. Cada fila tiene una casilla de verificación y el usuario puede hacer clic en el elemento si desea ver el mensaje
- Hacer que la casilla de verificación esté deshabilitada en Android
- Estado de comprobación de ListView Viewholder
- Cómo cambiar la casilla de verificación tick color en android
- Imagen personalizada de la casilla de verificación android
- Listview con un adaptador personalizado que contiene CheckBoxes
- Se comprueba un elemento incorrecto al filtrar ListView en android
- Ahorrar estados de la casilla de verificación
- Android: ¿Cómo puedo comprobar un elemento en particular en CheckView ListView?
El onItemClickListener para el listView no funcionará si tiene cualquier clic como botones, ImageButton, Checkbox, etc en el listView. Añadir
mainListView.setItemsCanFocus(true);
¿Se refiere ListView OnItemClickListener no responde?
La mejor manera de hacer esto es establecer estas siguientes propiedades para su casilla de verificación:
android:focusable="false" android:focusableInTouchMode="false"
Tuve un mismo problema y lo hice.
Solo agrega
android:descendantFocusability="blocksDescendants"
A su nivel superior LinearLayout del listitem.
Puede agregar este código dentro de su método OnItemClickListener
:
public void onItemClick(AdapterView parent, View view, int position, long id){ CheckBox box = (CheckBox)view.findViewById(R.id.course_search_checkbox); box.setChecked(true); }
Use setOnCheckedChangeListener
lugar de onItemClickListne
r para la casilla de verificación
CheckBox check; check=new CheckBox(this); check.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub } });
- He establecido uses-feature android: required = "false", pero Google play sigue insistiendo en estas características
- Falta el atributo XML "adSize"