AlertDialog.Builder builder  = new AlertDialog.Builder(MainActivity.this);
   builder.setTitle("确认" ) ;
   builder.setMessage("这是一个简单消息框" ) ;
   builder.setPositiveButton("是" ,  null );
   builder.show();//代码执行到这里后,还未点击确定呢,后面的代码就直接执行了!(win32 C++中,执行AfxMesageBox的话,必须用户点击确定后,才会继续执行后续代码)
   strIn=editTextIn.getText() .toString() ;
    textViewOut.setText(strIn);请教如何才能使得执行到AlertDialog.Builder.show()后,等待用户点击“确定”“”后再执行后续代码?

解决方案 »

  1.   

    你的setPositiveButton方法内要写回调,setPositiveButton("确定", new OnClickListener(){ //点击确定后的操作 });
      

  2.   


    还是不行!!!!!
    代码如下,执行时,textViewOut先显示bbb,点击确定后,显示aaa。                AlertDialog.Builder builder  = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("确认" ) ;
                    builder.setMessage("这是一个简单消息框" ) ;
                    builder.setPositiveButton("是",
                            new android.content.DialogInterface.OnClickListener() {
                                public void onClick(android.content.DialogInterface dialog, int id) {
                                    strIn="aaa";
                                    textViewOut.setText(strIn);
                                }
                            });
                    builder.show();
                    strIn="bbb";
                    textViewOut.setText(strIn);
      

  3.   


    把需要后面执行的代码放到new android.content.DialogInterface.OnClickListener()的onClick函数的后半部分,当然也可以实现先显示aaa,再显示bbb的效果。但是不是我想要的,这个alertdialog我只是用来停顿一下,等待用户确认而已。我需要响应点击确定之前,不要执行后面的代码。
      

  4.   

    android和windows的dialog是有这个差别的,要转变下思维方式.
      

  5.   


    意思就是Android下没法直接实现了? 这么简单的功能,也是多数用户需要的吧