Android
在数据绑定(bind)中有
<Button android:onClick="@{handler.someButtonClick()}"/>
在它的 Handler 类
中,它的监听器将是这样的:
public View.OnClickListener someButtonClick() {
return new View.OnClickListener() {
@Override
public void onClick(View view) {
}
};
}
我想为一个 Button
实现 OnTouchListener
,这样我就可以知道按钮何时被按下以及何时被释放
喜欢:
// Check if the button is PRESSED
if (event.getAction() == MotionEvent.ACTION_DOWN){
//do some thing
}// Check if the button is RELEASED
else if (event.getAction() == MotionEvent.ACTION_UP) {
//do some thing
}
是否有任何可能的方法来完成此任务。
最佳答案
这里有一个解决方法,您可以使用它来执行此操作。
@BindingAdapter("touchListener")
public void setTouchListener(View self,boolean value){
self.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
// Check if the button is PRESSED
if (event.getAction() == MotionEvent.ACTION_DOWN){
//do some thing
}// Check if the button is RELEASED
else if (event.getAction() == MotionEvent.ACTION_UP) {
//do some thing
}
return false;
}
});
}
然后在xml中
<Button app:touchListener="@{true}"/>
关于Android数据绑定(bind)view.onTouchListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45692511/