当我按下取消按钮时,将同时出现取消的Toast和解除的Toast。我该如何解决这个问题?谢谢。
编辑:我需要在按下取消按钮时出现一个Toast,并且当ProgressDialog正确完成(当我解除它时)时,我需要另一个不同的Toast。但是现在,当ProgressDialog正确完成时,我得到了正确的Toast,但当我按下取消按钮时,结果是两个Toast都出现了。(这是一个带有进度条的ProgressDialog,进度条每次增加5)。很抱歉我的英语不好 :S
编辑:我需要在按下取消按钮时出现一个Toast,并且当ProgressDialog正确完成(当我解除它时)时,我需要另一个不同的Toast。但是现在,当ProgressDialog正确完成时,我得到了正确的Toast,但当我按下取消按钮时,结果是两个Toast都出现了。(这是一个带有进度条的ProgressDialog,进度条每次增加5)。很抱歉我的英语不好 :S
myPd_bar.setOnCancelListener(new OnCancelListener(){
public void onCancel(DialogInterface dialog) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"Cancelled.",
Toast.LENGTH_LONG).show();
}});
myPd_bar.setOnDismissListener(new OnDismissListener() {
public void onDismiss(DialogInterface arg0) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Done.",
Toast.LENGTH_SHORT).show();
}
});
myPd_bar.setButton("Cancel", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
myPd_bar.cancel();
}
});
myPd_bar.show();
编辑2:最终解决方案:
private int sw = 0;
myPd_bar.setOnDismissListener(new OnDismissListener() {
public void onDismiss(DialogInterface arg0) {
if (sw==0){
Toast.makeText(getApplicationContext(), "Envio Realizado Correctamente.",
Toast.LENGTH_SHORT).show();
}
myPd_bar.dismiss();
sw=0;
}
});
//Botón Cancelar.
myPd_bar.setButton("Cancelar", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
sw = 1;
//Mostramos el mensaje al cancelar.
Toast.makeText(MainActivity.this,"Envío Cancelado.", Toast.LENGTH_LONG).show();
myPd_bar.cancel();
}
});
myPd_bar.show();