新手第一帖,大神們見笑了!希望大家補充更好的方法!!
最近寫了個AlertDialog dialog對話框,通過android.app.AlertDialog.Builder builder = new AlertDialog.Builder(this);顯示對話框,結果發現Builder沒有dialog.cancel()和dismiss()方法關閉對話框。自己摸索出了一種關閉AlertDialog dialog對話框的方法。
直接上代碼
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("标題");
builder.setCancelable(false);//點選螢幕和傳回鍵對話框不消失
RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.fist, null);
builder.setView(relativeLayout);
builder.setCancelable(false);
Button cancel = (Button) relativeLayout.findViewById(R.id.cancl);
Button ok = (Button) relativeLayout.findViewById(R.id.ok);
builder.create().show();
這樣通過created()加show()方法彈出的對話框在使用builder.setCancelable(false)之後,本人尚未找的好的讓對話框的方法。隻能用dialog的dismiss()方法讓對話框消失
代碼如下
final Dialog dialog;
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("标題");
builder.setCancelable(false);//點選螢幕和傳回鍵對話框不消失
RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.fist, null);
builder.setView(relativeLayout);
builder.setCancelable(false);
Button cancel = (Button) relativeLayout.findViewById(R.id.cancl);
Button ok = (Button) relativeLayout.findViewById(R.id.ok);
dialog = builder.show();
ok.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
dialog.show();
通過builder.show();可以使用dialog.cancel()和dismiss()方法關閉對話框。
一定不要忘了dialog.show();
當然也可以使用setNegativeButton,setPositiveButton和setNeutralButton,然後在裡面添加監聽事件用來關閉對話框。