使用AlterDialog创建对话框

使用AlterDialog创建对话框使用AlterDialog创建对话框
AlertDialog
A dialog that can show a title, up to three buttons, a list of selectable items, or a custom layout.
创建对话框需要经过如下几步
1:创建AlterDialog.Bulider 对象
2:调用AlterDialog.Builder的setTitle()或setCustomTitle()方法设置标题
3:调用AlterDialog.Builder的setIcon()方法设置图标
4:调用AlterDialog.Builder的其他设置方法设置对话框内容
5:调用AlterDialog.Builder的setPositiveButton(),setNegativeButton()添加多个按钮
6:调用AlterDialog.Builder的create()方法创建AlterDialog.Bulider 对象,在调用AlterDialog对象的show()方法将对话框显示出来
实例:显示提示消息的对话框
程序清单:
   
   
     
     
public void clearCacheDialog(View view){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
 
builder.setTitle("提示");
builder.setMessage("确定清除缓存吗");
builder.setIcon(R.mipmap.ic_qq_login_normal);
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlterDialogActivity.this, "魂村已经清空", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
AlertDialog dialog= builder.create();
dialog.show();
}


实例:显示简单列表的对话框
调用AlertDialog.Builder的setItems方法即可设置简单列表对话框,调用该方法需要传入一个数组或者数组资源的ID
程序清单:
 
  
    
    
      
      
public void showListDialog(View view){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setItems(R.array.menus, new DialogInterface.OnClickListener() {
 
@Override
public void onClick(DialogInterface dialog, int which) {
 
}
});
AlertDialog dialog= builder.create();
dialog.show();
}


实例:显示多选列表的对话框
调用AlertDialog.Builder的setMultiChoiceItems方法即可设置多选列表对话框,调用该方法需要传入一个数组或Cursor作为参数
程序清单:
      
      
        
        
private List mSelectedItems;
public void multChoiceDialog(View view){
mSelectedItems = new ArrayList();
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setMultiChoiceItems(R.array.menus, null, new DialogInterface.OnMultiChoiceClickListener() {
 
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
// If the user checked the item, add it to the selected items
mSelectedItems.add(which);
} else if (mSelectedItems.contains(which)) {
// Else, if the item is already in the array, remove it
mSelectedItems.remove(Integer.valueOf(which));
}
 
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlterDialogActivity.this, "已添加", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
AlertDialog dialog= builder.create();
dialog.show();
}


实例:显示版本更新的对话框
程序清单:
      
      
        
        
private AlertDialog checkDialog;
private AlertDialog checkResultDialog;
private Handler handle=new Handler(){
@Override
public void handleMessage(Message msg) {
switch(msg.what){
case 0:
checkDialog.dismiss();
checkResultDialog();
}
}
};
private void checkResultDialog(){
checkResultDialog=new AlertDialog.Builder(this).setTitle("提示").setMessage("已是新版本")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
checkResultDialog.dismiss();
}
}).create();
checkResultDialog.show();
}
public void updata(View view){
checkDialog =new AlertDialog.Builder(this).setTitle("提示").setMessage("检查更新")
.create();
checkDialog.show();
new Thread(new Runnable() {
@Override
public void run() {
//网络检查
try {
//子线程不写ui操作,启线程。
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
handle.sendEmptyMessage(0);
}
}).start();
}



 
  
 
  
 
  
 
  
 
  
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值