比較優雅的方法:
需要仔細看3點需要注意的地方:
final AlertDialog addMemberDialog =
new AlertDialog.Builder(getContext())
.setTitle("添加成員")
.setView(dialogView)
.setCancelable(false)
//注意1:需要再這裏設置監聽爲null,防止監聽被替換;
.setPositiveButton("確認", null)
.setNegativeButton("取消", null)
.create();
//處理dialog自動關閉功能,需要重新設置點擊事件
//注意2:需要在dialog完全Show出來後再得到Button,不然則有可能獲取到的Button爲null;
addMemberDialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialogInterface) {
addMemberDialog.getButton(AlertDialog.BUTTON_POSITIVE)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (TextUtils.isEmpty(nameEt.getText())) {
ToastUtil.show("請輸入名稱");
return;
}
if (TextUtils.isEmpty(contentEt.getText())) {
ToastUtil.show("請輸入描述");
return;
}
mAdapter.addData(new MemberEntity(), true);
addMemberDialog.dismiss();
}
});
}
});
//注意3:show 需要放到最後,不然,show的速度過快導致無法設置onShowListener
addMemberDialog.show();
Alert.Dialog 去掉 點擊按鈕自動關閉功能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.