Pregunta

piratas informáticos Estimado Android, adjunto un gestureListener reconocer arroja a un ListView. Las filas de la ListView consisten en una LinearView y algunos TextViews. Por desgracia, la aventura no se detecta, cuando se inicia en una de las TextViews:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="#000000" >
        <TextView
            android:id="@+id/author"
            android:textSize="14sp"
            android:textColor="#ffffff"
            android:textStyle="bold"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <TextView
            android:id="@+id/date"
            android:textSize="11sp"
            android:textColor="#eeeeee"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="right"/>
    </LinearLayout>
    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dp"
        android:paddingRight="5dp"
        android:paddingLeft="5dp"
        android:textColor="#333333"

        android:paddingBottom="5dp"
        android:textSize="14sp"
        android:layout_weight="2"/>
</LinearLayout>

Por lo tanto, cuando comienzo a la aventura en el LinearLayout horizontal, todo funciona bien, pero cuando lo inicio en el TextView en la parte inferior, no pasa nada. Se containts texto editable, si eso podría ser el problema ... Como se dijo, el oyente está unido a la propia ListView.

Yo estaría contento si alguien podría ayudar!

Jan Oliver

¿Fue útil?

Solución

Vista de Texto editable está volviendo true de onTouch(), impidiendo el caso de ser procesado por el LinearLayout más arriba en la jerarquía de la vista.

No hay nada que le para unir un OnTouchListener personalizado a su TextView a modificar esto y pasar el caso a su GestureDetector existente.

textView.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View arg0, MotionEvent ev) {             
        return gestureDetector.onTouchEvent(ev);
    }           
};
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top