避免多次点击一个按钮

问题描述:

我有一个应用程序,其中我有两个按钮,名为'下一个'和'上一个'。这些按钮用于浏览从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); 
       } 
      });