Изменить текст в кнопке

Мне нужно сделать так, чтобы если пользователь нажал на button_apple и не нажимает на него в течение 3 секунд, его текст становится таким прежним. И если кто-то знает, почему мой текст меняется в button_apple, но не в button_cherry.

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn_apple = (Button) findViewById(R.id.button_apple);
        Button btn_cherry = (Button) findViewById(R.id.button_cherry);
        Button btn_orange = (Button) findViewById(R.id.button_orange);
        Button btn_waterLemon = (Button) findViewById(R.id.button_waterlemon);
        btn_apple.setOnClickListener(new View.OnClickListener() {
            boolean action = false;
            @Override
            public void onClick(View v) {
                switch (v.getId()){
                    case R.id.button_apple:
                        if (!action) {
                            action = true;
                            btn_apple.setText("1");
                        }
                        else {
                            int i = Integer.parseInt(btn_apple.getText().toString());
                            btn_apple.setText(String.valueOf(i + 1));
                        }
                        break;
                    case R.id.button_cherry:
                        action = false;
                        if (!action) {
                            action = true;
                            btn_cherry.setText("1");
                        }
                        else {
                            int i = Integer.parseInt(btn_cherry.getText().toString());
                            btn_cherry.setText(String.valueOf(i + 1));
                        }
                        break;
                }
            }
        });
    }
}

Ответы (0 шт):