避免多次点击一个按钮
问题描述:
我有一个应用程序,其中我有两个按钮,名为'下一个'和'上一个'。这些按钮用于浏览从url加载的故事。点击按钮时,对话框将显示“请稍候加载数据”。当我们非常奢侈地拍摄下一个或上一个按钮时,屏幕上会出现一个永不结束的对话框。避免多次点击一个按钮
正在做这样说:
public void onClick(View v) {
try {
pDialog = new ProgressDialog(StoriesListController.this);
pDialog.setIndeterminate(true);
pDialog.setIcon(R.drawable.icon_small);
pDialog.setCancelable(true);
if (isFavoriteList == true) {
pDialog.setMessage("Loading favorites...");
} else {
pDialog.setMessage("Loading data...");
}
pDialog.setTitle("Please wait");
pDialog.setOnCancelListener(new OnCancelListener() {
public void onCancel(DialogInterface arg0) {
if (cancelableHeavyWorker != null) {
cancelableHeavyWorker.setHandler(null);
}
finish();
}
});
pDialog.show();
if (v == next) {
if (ind < items.size() - 1) {
ind++;
loadAndShowNextActivity();
}
} else if (v == previous) {
if (ind > 0) {
ind--;
loadAndShowNextActivity();
}
}
} catch (Exception e) {
Log.e("Error", "--.OnClink Message" + e.toString());
e.printStackTrace();
}
}
我要去哪里错了。我如何避免多次点击或避免永不结束对话。任何帮助表示赞赏。
答
或者到其他的答案,你可以单击该按钮时,一个布尔变量设置为true,并将其设置为false,当你完成处理点击。
通过这种方式,您可以忽略多次点击,而不必禁用该按钮,可能会避免令人讨厌的按钮闪烁。
答
禁用“下一步”按钮,直到数据完全加载或取消进程。
答
点击按钮后,做setEnabled(false)
这个按钮,禁用多次点击
答
点击后放的setEnabled(假)的按钮,在loadAndShowNextActivity()驳回pDialog.dismiss()
答
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogButton.setEnabled(false);
....
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialogInterface) {
dialogButton.setEnabled(true);
}
});