- 前几天由于项目中要用到dialog,看了一下系统的dialog,发现符合公司需要,因此刚好写了下来。在此记录并分享一下。
private void showNormalDialog(){
//创建dialog构造器
AlertDialog.Builder normalDialog = new AlertDialog.Builder(this);
//设置title
normalDialog.setTitle(getString(R.string.dialog_normal_text));
//设置icon
normalDialog.setIcon(R.mipmap.ic_launcher_round);
//设置内容
normalDialog.setMessage(getString(R.string.dialog_normal_content));
//设置按钮
normalDialog.setPositiveButton(getString(R.string.dialog_btn_confirm_text)
, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this,getString(R.string.dialog_btn_confirm_hint_text)
,Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
//创建并显示
normalDialog.create().show();
}
/**
* 弹出评价短语
*
* @param pjdyBeans
*/
public void showDialog(List<PjdyBean> pjdyBeans) {
ArrayList<String> yourChoices = new ArrayList<>();
final String[] items = new String[pjdyBeans.size()]; //pjdybeans是所需要的数据源
// 设置默认选中的选项,全为false默认均未选中
final boolean initChoiceSets[] = new boolean[pjdyBeans.size()];
for (int i = 0; i < pjdyBeans.size(); i++) {
items[i] = pjdyBeans.get(i).getEvaluate();
initChoiceSets[i] = pjdyBeans.get(i).isBoolean();
}
yourChoices.clear();
AlertDialog.Builder multiChoiceDialog =
new AlertDialog.Builder(XjPlanListActivity.this);
multiChoiceDialog.setTitle("选择你需要的评价短语");
multiChoiceDialog.setMultiChoiceItems(items, initChoiceSets,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
if (isChecked) {
yourChoices.add(items[which]);
} else {
yourChoices.remove(items[which]);
}
}
});
multiChoiceDialog.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int size = yourChoices.size();
String str = "";
for (int i = 0; i < size; i++) {
str += yourChoices.get(i) + ", ";
}
mMPiesEditext.setText(str); //在页面上展示你选择的短语
}
});
multiChoiceDialog.show();
}