@Override protected void modifyAlertDialogBuilder(android.support.v7.app.AlertDialog.Builder builder) { super.modifyAlertDialogBuilder(builder); if (getLayoutResId() != 0) { builder.setView(getLayoutResId()); } }
@Override protected Dialog createDialog(@NonNull FragmentActivity activity) { DialogParams p = getDialogParams(); // 得到来自父类的参数,这里将参数组装成builder对象 AlertDialog.Builder builder = new AlertDialog.Builder(activity, p.themeResId) .setTitle(p.title) .setIcon(p.mIconId) .setMessage(p.message) .setPositiveButton(p.positiveText, positiveListener) .setNeutralButton(p.neutralText, neutralListener) .setNegativeButton(p.negativeText, negativeListener); if (p.items != null) { if (p.isMultiChoice) { builder.setMultiChoiceItems(p.items, p.checkedItems, multiClickListener); } else if (p.isSingleChoice) { builder.setSingleChoiceItems(p.items, p.checkedItem, clickListener); } else { builder.setItems(p.items, clickListener); } } // 允许子类修改builder对象 modifyAlertDialogBuilder(builder); return builder.create(); }