gpt4 book ai didi

android - Android 中的 ACTION_DOWN 事件无法循环

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:54 25 4
gpt4 key购买 nike

只要拇指在我的 ImageView 上,我就想循环执行一些连续的任务。一旦竖起大拇指,我想停止这项工作。为此,我在 ACTION_DOWN 和 ACTION_UP 上设置了一个标志,我正在取消该标志,以便循环可以停止。但是我的循环变得无限了。此外,Toasts 在循环时不会出现。任何帮助将不胜感激。谢谢!!

      ivThumb.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
Toast.makeText(c, "action down", Toast.LENGTH_SHORT).show();
ivCharger.setVisibility(View.VISIBLE);
tvCharging.setVisibility(View.VISIBLE);
flag = true;
// while (flag){
// Toast.makeText(c, "hello", Toast.LENGTH_SHORT).show();
//
// }

}
else if (event.getAction() == MotionEvent.ACTION_MOVE){
Toast.makeText(c, "move", Toast.LENGTH_SHORT).show();
}
else if (event.getAction() == MotionEvent.ACTION_UP) {
Toast.makeText(c, "aCTION UP", Toast.LENGTH_SHORT).show();
flag = false;
ivCharger.setVisibility(View.GONE);
tvCharging.setVisibility(View.GONE);
//ivBattery.setImageResource(R.drawable.orange);
}
return true;
}
});

最佳答案

使用开关并添加setPressed参数,

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
ivThumb.setPressed(true);
//Your Function
break;

case MotionEvent.ACTION_MOVE:
//Your Function
break;

case MotionEvent.ACTION_UP:
//Your Function
ivThumb.setPressed(false);
invalidate();
break;

这应该可以解决问题。我建议调用一个函数并在那里处理 toast 。

编辑:因为,@Chetan 指出你返回的应该是 true 才能使 onTouch 工作。

关于android - Android 中的 ACTION_DOWN 事件无法循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42364406/

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