gpt4 book ai didi

android - Android中连续 "Action_DOWN"

转载 作者:太空狗 更新时间:2023-10-29 15:53:08 28 4
gpt4 key购买 nike

@Override
public boolean onTouchEvent(MotionEvent event) {

if(event.getAction()==MotionEvent.ACTION_DOWN){
Log.d(VIEW_LOG_TAG, "Touching Down");
}
if(event.getAction()==MotionEvent.ACTION_UP){
Log.d(VIEW_LOG_TAG, "Not Touching");
}
}

我要Log-->“Touching Down”应该一直显示在Log中直到松开手指。

请帮忙

它真的很重要...没有它我无法在 ma Project 中继续前进。

最佳答案

您不能在 UI 线程中执行此操作。在 UI-Thread 中运行的代码必须简短,以保持 UI 响应。

所以你需要创建一个线程。

  • ACTION_DOWN 时启动线程
  • 在线程中:用你的日志写一个循环(使用一个标志来停止循环)
  • ACTION_UP 时:更改标志(这将导致线程中的循环结束。

示例代码:

AtomicBoolean actionDownFlag = new AtomicBoolean(true);

Thread loggingThread = new Thread(new Runnable(){
public void run(){
while(actionDownFlag.get()){
Log.d(VIEW_LOG_TAG, "Touching Down");
//maybe sleep some times to not polute your logcat
}
Log.d(VIEW_LOG_TAG, "Not Touching");
}
});

@Override
public boolean onTouchEvent(MotionEvent event) {

if(event.getAction()==MotionEvent.ACTION_DOWN){
loggingThread.start();
}
if(event.getAction()==MotionEvent.ACTION_UP){
actionDownFlag.set(false);
}
}

关于android - Android中连续 "Action_DOWN",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24998020/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com