如何将长按监听器与数据绑定集成? 它需要一个布尔值返回。 但显然我的方法无法返回值(void)
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = LayoutTrainBaseItemBinding.inflate(inflater, container, false);
binding.Button.setOnClickListener(view1 -> myFunction());
binding.Button.setOnLongClickListener(view1 -> myFunction());
非常感谢您的提示
View.OnLongClickListener 是一个 SAM 接口,其抽象方法返回
boolean
(与 View.OnClickListener 不同,其返回类型为 void
)。
如果
myFunction()
返回 boolean
,则 binding.Button.setOnLongClickListener(view1 -> myFunction());
行将起作用。
例如,以下内容将在您的情况下编译:
binding.Button.setOnLongClickListener(view1 -> {
myFunction();
return true;
});
至于返回值,文档是这样说的:
如果回调消耗了长点击,则为 true,否则为 false。
请考虑一下你的逻辑