TextView`s LinkMovementMethod bloquea el evento de toque listitem
Tengo algún problema con Listview. Listview tiene elementos de lista que consisten en imageview y textview. La vista de texto contiene vínculos que se pueden hacer clic. Cuando establezco LinkMovementMethod a textviews, listitems no recibe el evento onclick. Todavía no puedo encontrar ninguna solución correcta = (.Alguien puede explane cómo resolverlo o dar un ejemplo de uso de textview con enlaces clicables dentro de listitem? Gracias.He aquí la creación de textview en el adaptador:
TextView text = (TextView) ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)) .inflate(R.layout.post_content_text, null); SpannableString sString = new SpannableString(d.getText()); //I have my own class UrlSpan that contain fields startPosition, endPosition and urlLink for (UrlSpan us : ((TextData) d).getUrls()) { URLSpan urlSpan = new URLSpan(us.getUrl()); sString.setSpan(urlSpan, us.getStart(), us.getEnd(), SpannableString.SPAN_INCLUSIVE_INCLUSIVE); } text.setText(sString); text.setMovementMethod(LinkMovementMethod.getInstance()); view.addView(text);
Y el elemento de la lista es:
- Cómo configurar el fondo de un TextView dinámicamente desde un archivo Xml
- ¿Cómo detectar pulsaciones de teclas de caracteres?
- Línea de archivo XML binario # 26: Error al inflacionar la clase android.widget.TextView
- Desplazamiento horizontal automático de Android TextView
- RelativaLayout TextView superposición
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:visibility="visible" > <LinearLayout style="?PostListRow" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="10dp" android:orientation="vertical" android:padding="10dp" > <LinearLayout android:layout_width="fill_parent" android:layout_height="65dp" android:orientation="horizontal" > <ImageView android:id="@+id/user_image" android:layout_width="45dp" android:layout_height="45dp" android:layout_margin="3dp" android:clickable="true" android:src="@drawable/ic_no_photo" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="55dp" android:layout_margin="0dp" android:orientation="vertical" > <TextView android:id="@+id/user_title" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:clickable="true" android:textSize="@dimen/title_in_list" /> <TextView android:id="@+id/post_datetime" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:textSize="@dimen/text_size_small" /> </LinearLayout> <TextView android:id="@+id/post_number" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:text="123" /> </LinearLayout> <!-- it is a view where textview with links is to be added to --> <LinearLayout android:id="@+id/post_data" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:weightSum="6" > </LinearLayout> <TextView android:id="@+id/post_view" style="?PostText" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" android:visibility="gone" /> <LinearLayout android:id="@+id/topic_edit_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > </LinearLayout> </LinearLayout> </LinearLayout>
- Android - Texto seleccionable: selecciona parte de un texto
- ¿Cómo puedo mostrar el último texto añadido en textview?
- Nuevo Texto Seleccionable en el componente android 3 (API <= 11)
- TextView con color de fondo y espaciado entre líneas
- Fondo personalizado de la ventana emergente del error
- Fórmula química en Android
- Conversión de TextView a String (tipo de) Android
- Android Api 23 Cambiar Navegación Ver headerLayout textview
Intenta agregar este atributo android:descendantFocusability="beforeDescendants"
a tu listview
De la documentación:
Define la relación entre ViewGroup y sus descendientes cuando se busca una Vista para enfocar. Me parece que cuando tienes algunas vistas activas como botones o edittext y etc en tu listview tienes que definir descendantFocusability