0
public Context ctx;
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.ctx = this;
            //another code......)

        send = (Button)findViewById(R.id.wyslij_zapytanie_ofertowe);
        send.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                ProgressDialog dialog = ProgressDialog.show(ctx, "Loading", "Please wait...", true);
                try {   
                    GMailSender sender = new GMailSender("dasdda@gmail.com", "ddx");
                    sender.sendMail("This is Subject",   
                            "This is Body",   
                            "staxxxowe@gmail.com",   
                            "xxxyk@gmail.com");   
                  dialog.dismiss();
                } catch (Exception e) {   
                    Log.e("SendMail", e.getMessage(), e);
                    dialog.dismiss();
                } 
            }
        });

代わりに ctx put ClassName.class も試してみましたが、うまくいきません。この問題を解決する方法を知っている人はいますか?

4

2 に答える 2

1

ほとんどの場合、問題は、呼び出しdialog.dismiss();た後に「すぐに」呼び出すdialog.show()ことであり、これにより、この「表示されない」効果が発生する可能性があります。

dialog.setButton("Cancel", new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
   }
});
于 2012-07-03T18:30:48.790 に答える
0

ほんの数行後に呼び出すため、作成される前でもおそらく却下されますdialog.dismiss()

于 2012-07-03T18:22:44.290 に答える