キャンセル ボタンを押すと、キャンセルのトーストと却下のトーストが表示されます。どうすればこれを解決できますか?. ありがとう。
編集:キャンセルボタンを押すとトーストが必要になり、ProgressDialogが正しく終了したとき(閉じるとき)に別のトーストが必要になります。しかし、現在、ProgressDialog が正しく終了すると正しい Toast が表示されますが、Cancel ボタンを押すと結果は両方とも Toast になります。(これは、完了するために5ずつ増加するバーを持つProgressDialogです)。私の英語で申し訳ありません: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();
EDIT2:最終的な解決策:
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();