AlertDialog自定義關閉

    若是AlertDialog裏有輸入框,那麼如何根據本身的須要關閉AlertDialog,網上有不少是經過反射方式。這裏有另一種方法。服務器

Builder builder = new Builder(MainActivity.this);ide

builder.setTitle("服務器設置");ui

LayoutInflater inflater = LayoutInflater.from(this);this

final View view = inflater.inflate(R.layout.edit, null);spa

builder.setView(view);get

builder.setPositiveButton(R.string.ok, new AlertDialog.OnClickListener(){string


@Overrideit

public void onClick(DialogInterface dialog, int which) { ast

}List

});

builder.setNegativeButton(R.string.cancel, new AlertDialog.OnClickListener(){

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

}

});

final AlertDialog dialog = builder.create();

//builder.show();

dialog.show();

dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener()

        {            

            @Override

            public void onClick(View v)

            {          

                  Boolean wantToCloseDialog = false;

                //須要時修改wantToCloseDialog的值

                 if(wantToCloseDialog){

                     dialog.dismiss();

                 }else{

                     Toast.makeText(MainActivity.this, "服務器地址不符合規範", Toast.LENGTH_SHORT).show();

                 }

            }

        });

相關文章
相關標籤/搜索