频道栏目
首页 > 资讯 > Android > 正文

Android开发中的普通dialog实例解析

18-07-31        来源:[db:作者]  
收藏   我要投稿

1.取消,确认

 DialogInterface.OnClickListener dialogOnclicListener = new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
 switch (which) {
  case Dialog.BUTTON_POSITIVE:
Toast.makeText(getContext(), "确认",
  Toast.LENGTH_SHORT).show();
break;
  case Dialog.BUTTON_NEGATIVE:
Toast.makeText(getContext(), "取消",
  Toast.LENGTH_SHORT).show();
break;
  case Dialog.BUTTON_NEUTRAL:
Toast.makeText(getContext(), "忽略",
  Toast.LENGTH_SHORT).show();
break;
 }
}
  };

  AlertDialog.Builder builder = new AlertDialog.Builder(getContext(),3);
  //builder.setIcon(R.mipmap.ic_launcher);
  //builder.setTitle("普通对话框");
  builder.setMessage("是否清除缓存?");
  builder.setPositiveButton("确认", dialogOnclicListener);
  builder.setNegativeButton("取消", dialogOnclicListener);
//  builder.setNeutralButton("忽略", dialogOnclicListener);
  builder.create().show();

2.列表

final String items[] = {"刘德华", "张柏芝", "蔡依林", "张学友"};

AlertDialog.Builder builder = new AlertDialog.Builder(this, 3);
builder.setTitle("列表");
// builder.setMessage("是否确认退出?"); //设置内容
builder.setIcon(R.mipmap.ic_launcher);
// 设置列表显示,注意设置了列表显示就不要设置builder.setMessage()了,否则列表不起作用。
builder.setItems(items, new DialogInterface.OnClickListener() {
 @Override
 public void onClick(DialogInterface dialog, int which) {
  dialog.dismiss();
  Toast.makeText(MainActivity.this, items[which],
 Toast.LENGTH_SHORT).show();

 }
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
 @Override
 public void onClick(DialogInterface dialog, int which) {
  dialog.dismiss();
  Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT)
 .show();
 }
});
builder.create().show();

3.单选

final String items[] = {"男", "女", "其他"};
AlertDialog.Builder builder = new AlertDialog.Builder(this,3);
builder.setTitle("单选");
builder.setIcon(R.mipmap.ic_launcher);
builder.setSingleChoiceItems(items, 0,
  new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

 Toast.makeText(MainActivity.this, items[which],
Toast.LENGTH_SHORT).show();
}
  });
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
 @Override
 public void onClick(DialogInterface dialog, int which) {
  dialog.dismiss();
  Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT)
 .show();
 }
});
builder.create().show();

4.多选

final String items[] = {"JAVA", "C++", "JavaScript", "MySQL"};
  final boolean selected[] = {true, false, true, false};
  AlertDialog.Builder builder = new AlertDialog.Builder(this,3);
  builder.setTitle("多选");
  builder.setIcon(R.mipmap.ic_launcher);
  builder.setMultiChoiceItems(items, selected,
 new DialogInterface.OnMultiChoiceClickListener() {
  @Override
  public void onClick(DialogInterface dialog, int which,
 boolean isChecked) {

Toast.makeText(MainActivity.this,
  items[which] + isChecked, Toast.LENGTH_SHORT)
  .show();
  }
 });
  builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
 dialog.dismiss();
 Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT)
.show();
 // android会自动根据你选择的改变selected数组的值。
// for (int i = 0; i < selected.length; i++) {
//  Log.e("hongliang", "" + selected[i]);
// }
}
  });
  builder.create().show();

5.可输入

final EditText editText = new EditText(this);
final AlertDialog.Builder builder = new AlertDialog.Builder(this,3);
builder.setTitle("可编辑");
builder.setIcon(R.mipmap.ic_launcher);
builder.setView(editText);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
 @Override
 public void onClick(DialogInterface dialog, int which) {
  Toast.makeText(MainActivity.this, editText.getText().toString() + "", Toast.LENGTH_LONG).show();
 }
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
 @Override
 public void onClick(DialogInterface dialog, int which) {
  dialog.cancel();
 }
});
builder.create().show();
相关TAG标签
上一篇:hibernate3中的hibernateDaoSupport到hibernate4中不适用的情况分析和解决
下一篇:HBaseExists
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站