如何定义触摸屏上的点击/点按,有很多选项。例如,其中一个是设置布尔值。
布尔值示例:
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()
?
答案 0 :(得分:0)
因为您在两个示例中都指的是一个按钮,我认为您指的是用户点击按钮,而不仅仅是屏幕上的随机触摸。
话虽如此,你提供的两个例子都不好。
//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。
答案 1 :(得分:0)
如果您需要为视图定义点击事件,可以使用 onClickListener , onTouchListener 。 有关更多信息,请查看Android官方文档。
在考虑第一个代码片段时,您可以使用布尔值对按钮单击事件执行另一个操作。像这样的例子,
boolean buttonClicked = false;
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//true after button clicked
buttonClicked = true;
}
});
//if buttonClicked equals true
if (buttonClicked){
//perform operation only after button clicked
}
在考虑您的第二个代码段时,内部不需要button.isPressed()
按钮的onClick()
回调。因为检查button.isPressed()
所要完成的操作是在按钮onClick()
回调中没有它的情况下完成的。
请记住这些事情。
isPressed()
是View
Class Button
是View
Class isPressed()
也是Button
类的公共方法。关于 isPressed() 。
指示视图当前是否处于按下状态。除非 显式调用setPressed(boolean),只有可点击的视图才能 进入按下状态。 如果当前按下了视图,则返回true,否则返回false。