首页 > 解决方案 > 如何在没有覆盖 onclick 方法的情况下检查按钮是否被点击?

问题描述

这是我的 MainActivity、按钮和 onclick 函数:

public class MainActivity extends AppCompatActivity {
    EditText etName;
    Button btSubmit;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        etName = findViewById(R.id.et_name);
        btSubmit = findViewById(R.id.bt_submit);
        AwesomeValidation awesomeValidation = new AwesomeValidation(ValidationStyle.BASIC);
        awesomeValidation.addValidation(this, R.id.et_name, RegexTemplate.NOT_EMPTY, R.string.invalid_name);

        btSubmit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openSubActivityEmty();
                if (awesomeValidation.validate()) {
                    //On success
                    Toast.makeText(getApplicationContext(), "Form Validate Succefull..", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getApplicationContext(), "Submit faild!", Toast.LENGTH_SHORT).show();
                }
            }
        });

现在我正在尝试编写一个新类,用于查找按钮并检查按钮是否再次单击?

那么我可以这样做还是有人对此任务有任何解决方案?

标签: javaandroidbuttononclickoverriding

解决方案


如果不覆盖 onClick 方法,就无法跟踪点击。如果你想检查按钮是否被点击,你可以添加一个布尔变量 isClicked 并默认设置为 false。在 onClick 内部,让它成为真的。如果您想从不同的班级访问它,请将其设为公开。


推荐阅读