禁用单击列表项中的子布局

时间:2015-04-18 15:44:40

标签: android android-layout android-listview

在列表项中,我有两个ID为abovebelow布局的视图组。刷above布局时below布局将可见。现在,当我点击below布局时,我不希望发生点击事件。它不应该突出显示视图。

以下是布局代码

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout   
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants"> 

     <!-- need to disable click event for this layout-->
     <RelativeLayout                   
        android:id="@+id/below
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:visibility="gone"
        >

        <include layout="@layout/options" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >


            <TextView
                android:id="@+id/view”
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/content” />


    </LinearLayout>

2 个答案:

答案 0 :(得分:1)

我认为您可以通过为此布局设置空onTouch来解决此问题。

RelativeLayout rl = (RelativeLayout) findViewById(R.id.below);
rl.setOnTouchListener( new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return true;
    }
});

答案 1 :(得分:0)

我不确定你真正想要的是什么;但是,你有权设置属性 机器人:可聚焦=“假” 机器人:focusableInTouchMode = “假” 到视图你不想被选中