【问题标题】:Click button not allowing to add click count点击按钮不允许添加点击次数
【发布时间】:2020-10-22 12:55:46
【问题描述】:

我目前正在制作一个投票应用程序,当点击按钮时,它会从名称“Kiwi”更改为点击切换按钮时按钮的点击量。再次单击切换按钮时,它会恢复为按钮的名称,然后再次单击会显示单击次数。我的问题是,当我想单击显示的按钮以增加单击次数时,它不会再添加一次单击,只有在按钮显示名称而不是计数时才会这样做。任何人都知道我是否做错了什么,这是我的代码:

<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".MainActivity">

<ImageView
    android:id="@+id/buzzyBeeImg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:contentDescription="@string/buzzybeeimage"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.165"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.074"
    app:srcCompat="@drawable/buzzybee" />

<ImageView
    android:id="@+id/gumbootsImg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:contentDescription="@string/gumbootsimage"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.807"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.074"
    app:srcCompat="@drawable/gumboots" />

<ImageView
    android:id="@+id/kiwiImg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:contentDescription="@string/kiwiimage"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.133"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.557"
    app:srcCompat="@drawable/kiwi" />

<ImageView
    android:id="@+id/tikiImg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:contentDescription="@string/tikiimage"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.855"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.557"
    app:srcCompat="@drawable/tiki" />

<Button
    android:id="@+id/buzzyBeeBt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/buzzy_bee"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.196"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.364" />

<Button
    android:id="@+id/gumbootsBt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/gumboots"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.797"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.364" />

<Button
    android:id="@+id/kiwiBt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/kiwi"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.188"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.751" />

<Button
    android:id="@+id/tikiBt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/tiki"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.767"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.751" />

<Button
    android:id="@+id/toggleCounterBt"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="75dp"
    android:layout_marginLeft="75dp"
    android:layout_marginEnd="75dp"
    android:layout_marginRight="75dp"
    android:text="@string/toggle_counters"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.482"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.956" />

<TextView
    android:id="@+id/leaderTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/current_leader"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.853" />







public class MainActivity extends AppCompatActivity {

// Creates Hash map
private static HashMap<String, Integer> votes = new HashMap<>();

private int kiwiCounter = 0;
private int tikiCounter = 0;
private int gumbootsCounter = 0;
private int buzzyBeeCounter = 0;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Sets references to widgets
    final Button btKiwi = findViewById(R.id.kiwiBt);
    final Button bttiki = findViewById(R.id.tikiBt);
    final Button btGumboots = findViewById(R.id.gumbootsBt);
    final Button btBuzzyBee = findViewById(R.id.buzzyBeeBt);
    final Button btToggleCounter = findViewById(R.id.toggleCounterBt);
    final TextView txtLeader = findViewById(R.id.leaderTextView);
    btToggleCounter.setTag(1);

    // Populating
    votes.put("Kiwi",0);
    votes.put("Tiki",0);
    votes.put("Gumboots",0);
    votes.put("Buzzy Bee",0);



    btKiwi.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v) {

            kiwiCounter++;

            votes.put("Kiwi", votes.get("Kiwi") + 1);
            String winnerCupcake = "";
            Integer winnerVotes = 0;

            if (votes.get("Kiwi") > winnerVotes){
                winnerVotes = votes.get("Kiwi");
                winnerCupcake = "Kiwi";
            }
            if (votes.get("Tiki") > winnerVotes){
                winnerVotes = votes.get("Tiki");
                winnerCupcake = "Tiki";
            }
            if (votes.get("Gumboots") > winnerVotes){
                winnerVotes = votes.get("Gumboots");
                winnerCupcake = "Gumboots";
            }
            if (votes.get("Buzzy Bee") > winnerVotes){
                winnerVotes = votes.get("Buzzy Bee");
                winnerCupcake = "Buzzy Bee";

            }
            txtLeader.setText("Current Leader: " + winnerCupcake);
        }

    });

    bttiki.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v){

            tikiCounter++;

            String winnerCupcake = "";
            Integer winnerVotes = 0;

            votes.put("Tiki", votes.get("Tiki")+1);

            if (votes.get("Kiwi") > winnerVotes){
                winnerVotes = votes.get("Kiwi");
                winnerCupcake = "Kiwi";
            }
            if (votes.get("Tiki") > winnerVotes){
                winnerVotes = votes.get("Tiki");
                winnerCupcake = "Tiki";
            }
            if (votes.get("Gumboots") > winnerVotes){
                winnerVotes = votes.get("Gumboots");
                winnerCupcake = "Gumboots";
            }
            if (votes.get("Buzzy Bee") > winnerVotes){
                winnerVotes = votes.get("Buzzy Bee");
                winnerCupcake = "Buzzy Bee";

            }
            txtLeader.setText("Current Leader: " + winnerCupcake);

        }

    });

    btGumboots.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v){

            gumbootsCounter++;

            String winnerCupcake = "";
            Integer winnerVotes = 0;

            votes.put("Gumboots", votes.get("Gumboots")+1);

            if (votes.get("Kiwi") > winnerVotes){
                winnerVotes = votes.get("Kiwi");
                winnerCupcake = "Kiwi";
            }
            if (votes.get("Tiki") > winnerVotes){
                winnerVotes = votes.get("Tiki");
                winnerCupcake = "Tiki";
            }
            if (votes.get("Gumboots") > winnerVotes){
                winnerVotes = votes.get("Gumboots");
                winnerCupcake = "Gumboots";
            }
            if (votes.get("Buzzy Bee") > winnerVotes){
                winnerVotes = votes.get("Buzzy Bee");
                winnerCupcake = "Buzzy Bee";

            }
            txtLeader.setText("Current Leader: " + winnerCupcake);
        }
    });

    btBuzzyBee.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v){

            buzzyBeeCounter++;

            String winnerCupcake = "";
            Integer winnerVotes = 0;

            votes.put("Buzzy Bee", votes.get("Buzzy Bee")+1);

            if (votes.get("Kiwi") > winnerVotes){
                winnerVotes = votes.get("Kiwi");
                winnerCupcake = "Kiwi";
            }
            if (votes.get("Tiki") > winnerVotes){
                winnerVotes = votes.get("Tiki");
                winnerCupcake = "Tiki";
            }
            if (votes.get("Gumboots") > winnerVotes){
                winnerVotes = votes.get("Gumboots");
                winnerCupcake = "Gumboots";
            }
            if (votes.get("Buzzy Bee") > winnerVotes){
                winnerVotes = votes.get("Buzzy Bee");
                winnerCupcake = "Buzzy Bee";

            }
            txtLeader.setText("Current Leader: " + winnerCupcake);

        }
    });

    btToggleCounter.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v) {
            final int status = (Integer)v.getTag();
            if(status== 1){
                btKiwi.setText(Integer.toString(kiwiCounter));
                bttiki.setText(Integer.toString(tikiCounter));
                btGumboots.setText(Integer.toString(gumbootsCounter));
                btBuzzyBee.setText(Integer.toString(buzzyBeeCounter));

                v.setTag(0);
            }
            else {
                btKiwi.setText("Kiwi");
                bttiki.setText("Tiki");
                btGumboots.setText("Gumboots");
                btBuzzyBee.setText("Buzzy Bee");

                v.setTag(1);
            }

        }
    });

}

}

【问题讨论】:

    标签: java android android-studio button


    【解决方案1】:

    你可以试试:

    btKiwi.setText(String.valueOf(kiwiCounter));
    bttiki.setText(String.valueOf(tikiCounter));
    btGumboots.setText(String.valueOf(gumbootsCounter));
    btBuzzyBee.setText(String.valueOf(buzzyBeeCounter));
    

    【讨论】:

    • 是的,我试过了,但是当我单击按钮显示点击计数以添加另一个计数时,它仍然没有帮助它不会将其添加到点击计数中,只会这样做如果它显示文本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多