java - 基本安卓: how to handle isPressed action on a button in Android

标签 java android onclick

我使用 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/

相关文章:

java - 当我使用改造时,由 : java. lang.NoSuchFieldError : com. squareup.okhttp.internal.http.HttpMethod.METHODS 引起

Android - 完成后无法销毁 Activity ,由 IllegalStateException : Can not perform this action after onSaveInstanceState 引起

javascript - 单击仅在当前 Div 中更改多个 Div 类

java - 配置 Tomcat 以便我可以将 JSP 页面连接到 MySQL

Java 删除 ResponseBody 中的属性

java - 在Android Studio中获取错误 “could not find method implementation()”

java - 物理游戏的内存高效AI对象

java - 创建一个 Intent 过滤器供应用程序内部使用

java - Android 切换 View

javascript - onclick 事件不会在第一次点击条件语句时触发