Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-为什么onItemLongClick(…)返回布尔值?_Java_Android_Onlongclicklistener_Long Click - Fatal编程技术网

Java Android-为什么onItemLongClick(…)返回布尔值?

Java Android-为什么onItemLongClick(…)返回布尔值?,java,android,onlongclicklistener,long-click,Java,Android,Onlongclicklistener,Long Click,来自Java背景,我习惯于处理操作,尽管我不确定为什么该方法需要返回布尔值,也不完全理解网站上给出的解释:如果回调使用了长时间单击,则为true,否则为false。正如您所知,Android中的视图层次结构由树表示。当您从onitmlongclick()返回true时,这意味着当前接收事件的视图是真正的事件接收器,不应将事件传播到树中的其他视图;当您返回false-您将事件传递给其他可能使用它的视图。希望这能有所帮助。我将通过一个例子为您进一步澄清这一点 @Override public boo

来自Java背景,我习惯于处理操作,尽管我不确定为什么该方法需要返回布尔值,也不完全理解网站上给出的解释:如果回调使用了长时间单击,则为true,否则为false。

正如您所知,Android中的
视图
层次结构由树表示。当您从
onitmlongclick()
返回
true
时,这意味着当前接收事件的
视图
是真正的事件接收器,不应将事件传播到树中的其他
视图
;当您返回
false
-您将事件传递给其他可能使用它的
视图。希望这能有所帮助。

我将通过一个例子为您进一步澄清这一点

@Override
public boolean onLongClick(View view) {

//Do all you stuff here    

return true; // or you can return false;
}
  • return true表示事件已被处理。不会有任何事件发生 在这一点之后开火
  • return false表示事件未被处理。还有其他活动吗 为此,单击仍将触发
因此,在您的onLongClick()启动后,如果您不希望常规的onClick()启动,那么只需从onLongClick()事件中返回true即可