如何使LinearLayout在其中具有多个textView可点击?

时间:2019-01-14 14:42:28

标签: android-studio android-layout

我有一个如下所示的XML文件。我想使第一个布局可点击,我使用了android:clickable="true",但是click不能用于整个部分,只有一部分可以响应click。如何使整个布局可点击?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_vertical"
    android:gravity="center_vertical">

    <LinearLayout
        android:id="@+id/clicableLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/task_finish"
        android:background="@color/colorPrimary"
        android:clickable="true"
        android:orientation="vertical">

        <TextView
            android:id="@+id/task_title"
            android:layout_width="195dp"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:clickable="true"
            android:text="Hello"
            android:textColor="@color/HeadingColor"
            android:textSize="22sp"
            android:textStyle="bold" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/DateText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="10dp"
                android:text="Date"
                android:textColor="@color/DateColor"
                android:textStyle="italic|bold" />

            <TextView
                android:id="@+id/TimeText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="5dp"
                android:text="Time"
                android:textColor="@color/TimeColor"
                android:textStyle="italic|bold" />

        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

更清楚地询问问题。如果要单击LinearLayout,请在LinearLayout的ID上设置一个onClickListener。

答案 1 :(得分:0)

您需要在click listener上实现,一种实现方法是通过以下代码:

    yourView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //what after the view got clicked
        }
    });