为什么我的按钮上没有显示文字? [重复]

问题描述 投票:0回答:1

我没有在按钮上看到任何文字,即使

 System.out.println("test");
有效

爪哇:

 public void buttonClicked(View v) {

        TextView button = (Button) v;
        if (button.getText().equals("")) {
            System.out.println("test");
            button.setText("test");
            System.out.println(button.getText());
            button.setText(Objects.equals(currentPlayer, PLAYER_X) ? "X" : "O");
            button.setTextColor(Objects.equals(currentPlayer, PLAYER_X) ? Color.GREEN : Color.RED);

xml:

   <Button
        android:id="@+id/btn1"
        app:backgroundTint="#3CFF0000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="77dp"
        android:layout_marginEnd="35dp"
        android:onClick="buttonClicked"
        android:tag="0,0"
        android:textSize="60sp"
        app:layout_constraintEnd_toStartOf="@+id/btn2"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="77dp"
        android:layout_marginEnd="31dp"
        android:onClick="buttonClicked"
        android:tag="0,1"
        android:textSize="60sp"
        app:layout_constraintEnd_toStartOf="@+id/btn3"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="77dp"
        android:layout_marginEnd="16dp"
        android:onClick="buttonClicked"
        android:tag="0,2"
        android:textSize="60sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/btn4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="23dp"
        android:layout_marginEnd="34dp"
        android:onClick="buttonClicked"
        android:tag="1,0"
        android:textSize="60sp"
        app:layout_constraintEnd_toStartOf="@+id/btn5"
        app:layout_constraintTop_toBottomOf="@+id/btn1" />

    <Button
        android:id="@+id/btn5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="23dp"
        android:layout_marginEnd="31dp"
        android:onClick="buttonClicked"
        android:tag="1,1"
        android:textSize="60sp"
        app:layout_constraintEnd_toStartOf="@+id/btn6"
        app:layout_constraintTop_toBottomOf="@+id/btn2" />

    <Button
        android:id="@+id/btn6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="23dp"
        android:layout_marginEnd="16dp"
        android:onClick="buttonClicked"
        android:outlineAmbientShadowColor="#000000"
        android:outlineSpotShadowColor="#000000"
        android:shadowColor="#000000"
        android:tag="1,2"
        android:textColor="#000000"
        android:textColorHighlight="#000000"
        android:textColorHint="#000000"
        android:textColorLink="#000000"
        android:textSize="60sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/btn3"
        app:rippleColor="#000000"
        app:strokeColor="#000000" />

    <Button
        android:id="@+id/btn7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:layout_marginEnd="34dp"
        android:onClick="buttonClicked"
        android:tag="2,0"
        android:textSize="60sp"
        app:layout_constraintEnd_toStartOf="@+id/btn8"
        app:layout_constraintTop_toBottomOf="@+id/btn4" />

    <Button
        android:id="@+id/btn8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:layout_marginEnd="31dp"
        android:onClick="buttonClicked"
        android:tag="2,1"
        android:textSize="60sp"
        app:layout_constraintEnd_toStartOf="@+id/btn9"
        app:layout_constraintTop_toBottomOf="@+id/btn5" />

    <Button
        android:id="@+id/btn9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:layout_marginEnd="16dp"
        android:onClick="buttonClicked"
        android:outlineSpotShadowColor="#000000"
        android:tag="2,2"
        android:textSize="60sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/btn6" />

我尝试在声明按钮后将文本设置为一行,这行得通,但在这个监听器中它不起作用

java android-studio button
1个回答
0
投票

在您的代码中,您两次设置按钮的文本:

button.setText("test");
button.setText(Objects.equals(currentPlayer, PLAYER_X) ? "X" : "O");

在第二行中,您将根据 currentPlayer 的值设置文本。因此,如果 currentPlayer 是“X”或“O”,按钮文本将分别设置为“X”或“O”。如果删除第一行 (button.setText("test");),按钮文本应根据 currentPlayer 的值设置,您应该能够看到按钮上的文本。

© www.soinside.com 2019 - 2024. All rights reserved.