如何解决为什么button.ispressed在android上不起作用
嗨,我只在按下按钮(不是物理按钮)时才尝试点亮android上的led 所以我在下面尝试了这段代码,但不适用于未按下的方法: 我只想在按下按钮的时候被引导打开
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
if(!button.isPressed()){
try {
mLightGpio = mPeripheralManager.openGpio("BCM3");
mLightGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_HIGH);
} catch (IOException e) {
e.printStackTrace();
}
}
else
{
try {
mLightGpio = mPeripheralManager.openGpio("BCM3");
mLightGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW);
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
}
解决方法
因为onClick仅调用一次。我建议在按下按钮时点亮LED(ACTION_DOWN),并在释放按钮时将其关闭(ACTION_UP)。
使用类似这样的内容:
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v,MotionEvent event) {
switch (event.getAction() ) {
case MotionEvent.ACTION_DOWN:
// light up
break;
case MotionEvent.ACTION_UP:
// turn off
break;
}
return false;
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。