Field field = dialog.getClass().getSuperclass()
.getDeclaredField("mShowing");
field.setAccessible(true);
//设置Dialog显示/不显示
field.set(dialog, true/false);
单选对话框
//不能设置内容,否则单选效果无法展示//builder.setMessage("内容");//设置单选按钮
String items1[] = new String[] { "魏", "蜀", "吴" };
builder.setSingleChoiceItems(items1, 1, new DialogInterface.OnClickListener() {
@OverridepublicvoidonClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(Main3Activity.this,which+"",Toast.LENGTH_LONG).show();
}
});
多选对话框
String ITEM_ID2[] = new String[]{"魏", "蜀", "吴"};
boolean checkedItems[] = {true, false, true};
builder.setMultiChoiceItems(ITEM_ID2, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@OverridepublicvoidonClick(DialogInterface dialog, int which,
boolean isChecked) {
// TODO Auto-generated method stub
}
});
进度对话框
**在Android8.0以后使用ProgressBar代替progressDialog**
自定义view的对话框
View view = View.inflate(Main3Activity.this, R.layout.item_dialog, null);
final AlertDialog.Builder dialog = new AlertDialog.Builder(Main3Activity.this);
dialog.setTitle("用户登录:")
.setIcon(R.mipmap.ic_launcher)
.setView(view)
.setPositiveButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_SHORT).show();
}
})
//设置年月日监听器
dp.init(dp.getYear(), dp.getMonth(), dp.getDayOfMonth(), new DatePicker.OnDateChangedListener() {
@OverridepublicvoidonDateChanged(DatePicker datePicker, int i, int i1, int i2) {
tv.setText("当前时间:"+ dp.getYear()+"-"+dp.getMonth()+"-"+dp.getDayOfMonth()+" "+tp.getHour()+":"+tp.getMinute());
}
});
//设置时分监听器
tp.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@OverridepublicvoidonTimeChanged(TimePicker timePicker, int i, int i1) {
tv.setText("当前时间:"+ dp.getYear()+"-"+dp.getMonth()+"-"+dp.getDayOfMonth()+" "+tp.getHour()+":"+tp.getMinute());
}
});