单击侦听器上的文本视图

时间:2016-11-10 06:16:41

标签: android

我在页面上有三个文本视图,每个视图都有点击方法。当我点击它们时,调用Text view3。怎么了?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.card.admin.nfcapp.ReadCertificateActivity"
android:id="@+id/Test">

<TextView
    android:id="@+id/dipcert1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:textSize="30dp"
    android:text="@string/cert1"
    android:gravity="center"
    android:paddingBottom="200dp"
    android:onClick="btnClickListener1 />

<TextView
    android:id="@+id/dipcert2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:textSize="30dp"
    android:text="@string/cert2"
    android:gravity="center"
    android:paddingBottom="100dp"
    android:onClick="btnClickListener2 "/>

<TextView
    android:id="@+id/dipcert3"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:textSize="30dp"
    android:text="@string/cert3"
    android:gravity="center"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:paddingBottom="10dp"
    android:onClick="btnClickListener3"/>

</RelativeLayout>

当我点击每一个&#34; btnClickListener3&#34;被称为。

2 个答案:

答案 0 :(得分:1)

所有三个TextviewRelativeLayout中都有相同的 layout_width =“fill_parent” layout_height =“fill_parent”,因此它只会检测到textview3

使用LinearLayout orientation =“vertical”

并将 layout_width =“wrap_content” layout_height =“wrap_content”设置为所有Textview

@aleksandrbel 的答案也从textview 1和2中的函数名称中删除了最后一个空格。

答案 1 :(得分:1)

在功能1和2的名称后删除空格

 android:onClick="btnClickListener1"

 android:onClick="btnClickListener2"

但是出于目的,如果TextView应该执行Button的功能,那么用户需要知道他可以单击它,Material Design建议使用cause按钮。

https://material.google.com/components/buttons.html#

如果你想拥有透明背景,你可以带走背景

android:background="@android:color/transparent"