Android: Обнаружение броска на ListView со сложными строками

StackOverflow https://stackoverflow.com/questions/4235577

Вопрос

Уважаемые хакеры Android, я прикрепляю гестоурелистинер, распознавающую литье к ListView. Ряды ListView состоят из линеариста и некоторых текстовых просмотров. К сожалению, флинг не обнаружен, когда он начинается на одном из текстовых просмотров:

<?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>

Итак, когда я начинаю бросать на горизонтальную линеарию, все работает нормально, но когда я начну его на текстовом представлении внизу, ничего не происходит. Это произошло с редактируемым текстом, если это может быть проблемой ... Как говорят, слушатель прикреплен к самому списку.

Я был бы рад, если кто-то может помочь!

Ян Оливера

Это было полезно?

Решение

Ваш редактируемый TextView возвращается true от onTouch(), предотвращение обработки мероприятия LinearLayout выше, иерархия просмотра.

Там ничего не останавливается, чтобы вы прикрепили заказ OnTouchListener на ваш TextView Чтобы переопределить это и пройти событие к существующему GestureDetector.

textView.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View arg0, MotionEvent ev) {             
        return gestureDetector.onTouchEvent(ev);
    }           
};
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top