嗨我有水平方向的LinearLayout有两个孩子如下
<LinearLayout
android:id="@+id/clearAll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/parent"
android:layout_marginBottom="0dp"
android:layout_marginRight="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_gravity="center_vertical"
android:background="@drawable/clear_all_bg"
android:padding="3dp"
android:src="@drawable/ic_close_white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:gravity="center"
android:paddingLeft="5dp"
android:text="Clear"
android:textColor="@android:color/holo_red_light"
android:textSize="@dimen/font_size_micro"
android:textStyle="normal" />
</LinearLayout>
在运行时,我为此类
设置了LinearLayout的OnClickListnerclearAll = (LinearLayout) findViewById(R.id.clearAll);
clearAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG, "clearAll Click");
}
});
我试过
android:duplicateParentState="true"
和
android:clickable="true"
但没有触发使用侦听器
答案 0 :(得分:1)
可以点击textview或imageview
方法1:尝试将android:focusableInTouchMode =“false”带到textview和imageview
<LinearLayout
android:id="@+id/clearAll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/parent"
android:layout_marginBottom="0dp"
android:layout_marginRight="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_gravity="center_vertical"
android:background="@drawable/clear_all_bg"
android:padding="3dp"
android:focusableInTouchMode="false"
android:src="@drawable/ic_close_white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:gravity="center"
android:paddingLeft="5dp"
android:text="Clear"
android:focusableInTouchMode="false"
android:textColor="@android:color/holo_red_light"
android:textSize="@dimen/font_size_micro"
android:textStyle="normal" />
</LinearLayout>
方法2:或者将id设置为图像视图和Textview并尝试此...
textview.setEnabled(false);