我使用 isEnabled() 编写了一个工作代码。
if(btn.isEnabled()){
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// say send a udp packet
}
}
);
}
现在,我想在按下按钮时发送数据包,而不是单击按钮时发送数据包。我该如何处理这个问题? 当我尝试 isPressed 而不是 isEnabled 时,出现了空白屏幕,甚至没有显示 Activity ...
编辑:也尝试过 btn.isPressed() - 它不起作用...单击按钮后立即发送 udp 数据包...我希望它仅在按下按钮时发送...
如有任何帮助,我们将不胜感激。 谢谢
最佳答案
你的情况很模糊。 “仅当我按下它时”意味着您将在开始按下按钮时开始发送,这意味着在 MotionEvent.ACTION_DOWN
上。如果您希望在执行操作之前有一些延迟,请创建一个计时器线程,该线程将在检测到 MotionEvent.ACTION_DOWN
时启动,并在几秒钟后执行您的操作。当检测到 MotionEvent.ACTION_UP
时,计时器也应该重置,或者如果操作已经在进行中,则中断该操作。
但老实说,您可能需要重新表述您的情况。
关于java - 基本安卓: how to handle isPressed action on a button in Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8102080/