作为一个Java开发者,我习惯于处理事件,但我不确定为什么该方法需要返回一个布尔值,并且对网站上给出的解释并没有完全理解:如果回调函数消耗了长按(long click)事件则返回true,否则返回false。
作为一个Java开发者,我习惯于处理事件,但我不确定为什么该方法需要返回一个布尔值,并且对网站上给出的解释并没有完全理解:如果回调函数消耗了长按(long click)事件则返回true,否则返回false。
如您所知,Android 中的View
层次结构是由树来表示的。当您从onItemLongClick()
返回true
时,这意味着当前接收到事件的View
是真正的事件接收者,该事件不应传播给树中其他Views
;而当您返回false
时,您可以让事件传递给其他可能消耗它的Views
。希望这能帮助您。
我将通过一个例子进一步为您澄清这个问题。
@Override
public boolean onLongClick(View view) {
//Do all you stuff here
return true; // or you can return false;
}
因此,在你的onLongClick()触发后,如果你不想让常规的onClick()触发,则只需从onLongClick()事件中返回true即可。