我正在开发一款App。它有多个button
,每个button
会将TCP data
发送到Server
。
例如:Button-A
,Button-B
和Button-C
有三个按钮。 Button-A
会将“A”发送到服务器等
private static String data;
btn_A.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
data = "A";
send(data);
}
});
btn_B.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
data = "B";
send(data);
}
});
btn_C.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
data = "C";
send(data);
}
});
如果我快速点击从Button-A
到Button-C
的按钮。服务器将接收三次数据。这是低效的......
如何实施点击多个按钮但仅适用于上次点击?
如果我快速点击Button-A
到Button-C
的按钮,我希望应用仅发送我点击的最后一个按钮的数据。
我尝试使用thread
每3秒向服务器发送一次数据。它将每3秒发送一次data
的最后一个值。
还有其他更好的方法吗?
答案 0 :(得分:0)
好吧,正如我在评论中看到的那样,有人告诉你能够通过AsyncTask
来解决它。这也是我的建议......
您必须设置Handler
和cancel()
任务的方法。
看看这两个链接: AsyncTask by Vogella和 如何在SO
上取消任务here希望它有所帮助。