您好,我的应用程序中有 8 个按钮。每个按钮都配置为 onclickListener(),当单击该按钮时,字符串将写入套接字。现在我希望当我按住按钮时,字符串必须循环写入。这就是我正在尝试做的事情。
bLeft.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent event) {
// TODO Auto-generated method stub
MyThread start = new MyThread();
boolean isReleased = event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL;
boolean isPressed = event.getAction() == MotionEvent.ACTION_DOWN;
while (isPressed) {
start.execute(ip, "left");
break;
}
return false;
}
});
不知怎的,我不知道为什么它不起作用。 start,execute(string, string) 执行 AsyncTask 类中的线程以创建套接字和输出流。
bLeft.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent event) {
// TODO Auto-generated method stub
MyThread start = new MyThread();
boolean isReleased = event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL;
boolean isPressed = event.getAction() == MotionEvent.ACTION_DOWN;
while (isPressed) {
start.execute(ip, "left");
break;
}
return false;
}
});
首先, is Released 不会被使用,所以去掉这个变量,这会让事情变得更加复杂。
秒的事情确保它最终在 while 循环中,例如:
`Log.d("debugText", "我在这段时间")'
并记录新闻状态。这将使调试时的事情变得更加清晰。
另请参阅以下 Android 文档:无痛穿线 http://developer.android.com/resources/articles/painless-threading.html。确保您使用正确的东西。
调试后您可能会明白为什么它不执行。如果没有,则需要更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)