我有两个布局(LineatLayOut)。每个布局包含三个按钮。第一个布局的三个按钮使用变量teamA
。第二个布局的三个按钮使用变量teamB
。我很困惑单击哪个按钮。我试图通过view.getId()
获取ID,但它返回了一些整数值。如何找到单击了哪个按钮???
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" tools:context=".MainActivity"> <include layout="@layout/app_bar" android:id="@+id/app_bar" /> <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal" android:layout_below="@id/app_bar" > <LinearLayout android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1" android:id="@+id/teamA" android:orientation="vertical" android:layout_below="@id/app_bar" android:layout_margin="25dp" android:layout_gravity="center" > <TextView android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" android:layout_gravity="center_horizontal" android:textAlignment="center" android:text="Team A" android:textSize="18dp" android:textColor="@android:color/black" /> <TextView android:layout_width="match_parent" android:layout_gravity="center_horizontal" android:textAlignment="center" android:layout_height="0dp" android:textSize="25dp" android:id="@+id/teamAScore" android:layout_weight="1" android:text="0" android:textColor="@android:color/black"/> <Button android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" android:textAlignment="center" android:layout_gravity="center_horizontal" android:text="3" android:id="@+id/teamA3Button" android:textColor="@android:color/black" android:layout_marginBottom="10dp" android:background="#F57F17" android:onClick="addScoreOne" /> <Button android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" android:textAlignment="center" android:layout_gravity="center_horizontal" android:text="5" android:textColor="@android:color/black" android:layout_marginBottom="10dp" android:background="#F57F17" /> <Button android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" android:textAlignment="center" android:layout_gravity="center_horizontal" android:layout_marginBottom="10dp" android:textColor="@android:color/black" android:background="#F57F17" android:text="FREE THROUGH" /> </LinearLayout> <View android:layout_height="fill_parent" android:layout_width="1dp" android:background="@android:color/black" /> <LinearLayout android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1" android:orientation="vertical" android:id="@+id/teamB" android:layout_below="@id/app_bar" android:layout_margin="25dp" android:layout_gravity="center"> <TextView android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" android:layout_gravity="center_horizontal" android:textAlignment="center" android:text="Team B" android:textSize="18dp" android:textColor="@android:color/black" /> <TextView android:layout_width="match_parent" android:layout_gravity="center_horizontal" android:textAlignment="center" android:layout_height="0dp" android:textSize="25dp" android:id="@+id/teamBScore" android:layout_weight="1" android:text="0" android:textColor="@android:color/black"/> <Button android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" android:textAlignment="center" android:layout_gravity="center_horizontal" android:text="3" android:textColor="@android:color/black" android:layout_marginBottom="10dp" android:background="#F57F17" /> <Button android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" android:textAlignment="center" android:layout_gravity="center_horizontal" android:text="5" android:textColor="@android:color/black" android:layout_marginBottom="10dp" android:background="#F57F17" /> <Button android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" android:textAlignment="center" android:layout_gravity="center_horizontal" android:text="Free Through" android:textColor="@android:color/black" android:layout_marginBottom="10dp" android:background="#F57F17" /> </LinearLayout> </LinearLayout>> <Button android:text="Reset" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#F57F17" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:textColor="@android:color/black" android:layout_margin="10dp" /> </RelativeLayout>
addScoreone的代码:
public void addScoreOne(View view) { if (view.getId()==R.id.teamA3Button) { teamAScore+=3; aTextView=findViewById(R.id.teamAScore); aTextView.setText(teamAScore); } else { teamBScore+=3; aTextView=findViewById(R.id.teamBScore); aTextView.setText(teamBScore); } }
请帮助我。谢谢。
我有两个布局(LineatLayOut)。每个布局包含三个按钮。第一个布局的三个按钮使用变量teamA。第二个布局的三个按钮使用变量teamB。我很困惑...
您必须将id
和onClick
属性添加到每个按钮xml。然后,您可以使用R.id.teamB5Button
方法中的addScoreOne
等按钮ID来检测代码中的每个按钮。