Событие onClick в SlidingDrawer не запускается

Я создал RelativeLayout, содержащий ImageView и SlidingDrawer. Я установил onClickListener в ImageView, а другой — в контентную часть SlidingDrawer. Когда SlidingDrawer открыт и я нажимаю на его часть содержимого, запускается событие onClick ImageView.

Почему? Разве SlidingDrawer не находится над ImageView?

Спасибо

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

    <ImageView
        android:id="@+id/whip"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" />  

    <SlidingDrawer
         android:id="@+id/drawer"
         android:layout_width="wrap_content"
         android:layout_height="53dp"
         android:layout_alignParentBottom="true"
         android:orientation="horizontal"

         android:handle="@+id/facebook_icon"
         android:content="@+id/facebook_contacts">

         <ImageView
             android:id="@+id/facebook_icon"
             android:layout_width="55dp"
             android:layout_height="53dp"         
             android:src="@drawable/facebook_handler_off" />

         <ImageView android:id="@+id/facebook_contacts"
                android:layout_width="265dp"
                android:layout_height="53dp"                
                android:src="@drawable/facebook_content" /> 

    </SlidingDrawer>

</RelativeLayout>

person jul    schedule 28.02.2011    source источник
comment
Эй, ты когда-нибудь находил решение для этого? Я столкнулся с той же проблемой, и ни одно из решений не помогает мне...   -  person anargund    schedule 15.11.2011


Ответы (1)


Попробуйте перехватить события мыши с реализацией логического onInterceptTouchEvent (событие MotionEvent)

Отдавая документу, этот метод «перехватывает все события движения сенсорного экрана».

Вы возвращаете true, если хотите обработать конкретное событие MotionEvent (указав параметры) с помощью SlidingDrawer.

Посмотрите и на onTouchEvent(MotionEvent event) :)

http://developer.android.com/reference/android/widget/SlidingDrawer.html#onInterceptTouchEvent(android.view.MotionEvent)

person Sakaroz    schedule 28.02.2011