关于如何在触摸屏上定义单击/点击,有很多选项。例如,其中之一是设置布尔值。

布尔值的示例:

boolean buttonClicked = true;

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

                if (buttonClicked) {
                 //do that and this
                }
            }
        });


还有一个isPressed()方法:

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

                    if (button.isPressed()) {
                     //do that and this
                    }
                }
            });


它们之间到底有什么区别?以及何时以及为何使用布尔值和方法isPressed()

最佳答案

因为在两个示例中都是指按钮,所以我假设您是指用户点击按钮,而不仅仅是屏幕上的随机触摸。

话虽如此,您提供的两个示例都不好。


在您的第一个示例中,布尔值是无用的,因为它始终为true,因此将始终达到//do that and this
在第二个示例中,您的if语句是无用的,因为onClick方法的性质仅在点击按钮时才能到达。


侦听按钮按下的好方法是使用单击侦听器,如下所示:

Button button = (Button) findViewById(R.id.buttonId);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Code placed here will run every time the button is tapped
    }
});


...其中R.id.buttonId是布局中按钮的ID。

10-08 08:46