Почему событие касания не дублируется для моего представления?

Я использую следующий макет item.xml для представления списка:

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

    <RelativeLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:duplicateParentState="true">

        <TextView
            android:id="@+id/title"
            android:text="@string/title_placeholder"
            style="@style/title" />

        <com.myapp.android.view.MyView
            android:layout_width="11dp"
            android:layout_height="11dp"
            android:layout_below="@id/title"
            android:duplicateParentState="true"
            android:clickable="true" />
    </RelativeLayout>
</LinearLayout>

Я использую duplicateParentState в двух местах: в моем пользовательском представлении MyView и в оболочке RelativeLayout. Тем не менее, я не получаю никаких событий касания в своем представлении, на котором я зарегистрировал прослушиватель касания, когда я касаюсь одного из элементов представления списка.

Что мне здесь не хватает?


person Mahoni    schedule 25.07.2014    source источник


Ответы (1)


Вы можете опубликовать свой код onTouch?

из документации по Android:

onTouch() — возвращает логическое значение, указывающее, использует ли ваш слушатель это событие. Важно то, что это событие может иметь несколько действий, следующих друг за другом. Таким образом, если вы возвращаете false при получении события действия вниз, вы указываете, что не использовали это событие, а также не заинтересованы в последующих действиях из этого события. Таким образом, вас не будут вызывать для каких-либо других действий в рамках события, таких как жест пальцем или возможное событие действия вверх.

person erik    schedule 25.07.2014
comment
Мой просто возвращает true, поэтому я также получаю последующие события. - person Mahoni; 25.07.2014
comment
Вы пытались настроить его на возврат false - не потреблять - person erik; 25.07.2014
comment
не совсем нет, плюс я пропускаю последующие события, сейчас - person Mahoni; 25.07.2014