Линейный прослушиватель LinearLayout никогда не вызывается

Попытка получить прослушиватель onclick, работающий на linearlayout, но его никогда не вызывал :(. Включил clickable и focsuable (оба режима) и все еще не может получить ответчик кликов. Подробности о платформе: Android 3.0 .. Любая помощь?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/menu_items_button" android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical" android:gravity="center_horizontal" android:paddingTop="@dimen/gen_margin_xsmall" android:paddingBottom="@dimen/gen_margin_xsmall" android:background="@drawable/rule_bg_menu_button" android:clickable="true" android:focusableInTouchMode="true" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/menu_items" android:tag="image" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:tag="text" android:text="@string/menu_items_icon_txt" style="@style/textDisplay.mediumLarge" /> </LinearLayout> 

И в коде для добавления прослушивателя событий

 _itemsButton = (LinearLayout) menu.findViewById(R.id.menu_items_button); final Intent itemsIntent = new Intent(this, ItemsActivity.class); _itemsButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { startActivity(itemsIntent); //Never called! } } ); 

Причина, по которой я делаю это, а не использовать кнопку «Изображение», заключается в том, что фон «кнопки» основан на состоянии (изменения градиента), но также и изображение, и для того, чтобы комбинировать их с двумя щелчками / на фокусе, я использовал LinearLayout, который имеет ImageView сам по себе .. любые предложения о том, почему clickListener не работает на linearLayout?

спасибо

Выделили ли клик в ImageView вместо LinearLayout? Попробуйте щелкнуть в области пэдов (если есть) или попробовать поместить прослушиватель кликов в ImageView1.

(Добавление моего ответа в качестве нового ответа, чтобы я мог использовать тег PRE.)

Простым способом является установка одного и того же прослушивателя кликов на вид изображения и текстовое представление.

 View.OnClickListener activityLauncher = new View.OnClickListener() {... } layout.setOnClickListener(activityLauncher); imageView.setOnClickListener(activityLauncher); textView.imageView.setOnClickListener(activityLauncher); 

Ширина вашего LinearLayout установлена ​​на «0dip» , вы ничего не увидите на экране.

Если ширина изменяется на «FULL_PARENT» , это работает. Проверьте код еще раз.