我在页面上有三个文本视图,每个视图都有点击方法。当我点击它们时,调用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;被称为。
答案 0 :(得分:1)
所有三个Textview
在RelativeLayout
中都有相同的 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"