我有一个按钮,单击它时将画布保存到图像文件,然后调用另一个活动。我遇到的问题是,通过测试,我发现用户可以在调用该活动之前在连续两次中单击该按钮,从而导致写入两个文件。防止小部件在短时间内多次点击
我还注意到纺纱厂在另一项活动中出现同样的问题。我连续点击它们两次,然后弹出两个包含我的所有微调项目的列表视图。
我一直在试图谷歌这没有太多的运气。有这个简单的解决办法吗?
谢谢。
我有一个按钮,单击它时将画布保存到图像文件,然后调用另一个活动。我遇到的问题是,通过测试,我发现用户可以在调用该活动之前在连续两次中单击该按钮,从而导致写入两个文件。防止小部件在短时间内多次点击
我还注意到纺纱厂在另一项活动中出现同样的问题。我连续点击它们两次,然后弹出两个包含我的所有微调项目的列表视图。
我一直在试图谷歌这没有太多的运气。有这个简单的解决办法吗?
谢谢。
事实证明,我不得不实施这两个建议才能使其发挥作用。 +1给你们每个人。
我用了一个不确定的进度对话框,和一个布尔值,像这样:
Button send = (Button) findViewById(R.id.send);
send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mAllowSave) {
mAllowSave = false;
showDialog(SAVING_DIALOG);
mSaveFileThread = new SaveFileThread(handler);
mSaveFileThread.start();
}
}
});
您可以拥有一个简单的布尔值,如mClickBeingProcessed,只要调用保存画布的方法,就将其设置为true。如果这是真的,你什么都不做,否则你保存画布并打电话给其他活动。在您的方法(或其他处理)结束时,将其设置回false。
另一种选择是存储最近点击的时间戳。如果点击发生在前一次点击的X时间内(无论您决定的值是什么,可能为1000毫秒),它将被忽略。
只是显示进度对话框,直到您的处理正在进行
看到此。
http://developer.android.com/guide/topics/ui/dialogs.html
谢谢。
你是怎么写的,我想之前我看到的问题写至七分钟消息? +1 :) – 2011-01-11 04:37:06