Alertdialog的几种用法

来源:互联网 发布:pkpm筒仓设计软件 编辑:程序博客网 时间:2024/05/21 20:25
package com.example.alertdialog9a;


import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class MainActivity extends Activity {


private Button btn1;
private Button btn2;
private Button btn3;

private String[] city=new String[]{"北京","上海","广州"};
private AlertDialog dialog;




@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btn1 = (Button)findViewById(R.id.btn1);
btn2 = (Button)findViewById(R.id.btn2);
btn3 = (Button)findViewById(R.id.btn3);

setListener();


}


private void setListener() {
btn1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
createSimpleDialog();
}
});

btn2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
createSingleChoiceDialog();

}
});

btn3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
createCustomDialog();

}
});

}

// View v1=View.inflate(this, R.layout.custom_layout, null);
// View v2=getLayoutInflater().inflate(R.layout.custom_layout, null);


private void createCustomDialog(){

AlertDialog.Builder builder=new Builder(MainActivity.this);

builder.setTitle("自定义对话框");

View v=LayoutInflater.from(this).inflate(R.layout.custom_layout, null);

final EditText ed1=(EditText)v.findViewById(R.id.editText1);
Button btn1=(Button)v.findViewById(R.id.button1);

btn1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, ed1.getText().toString(), 0).show();
dialog.dismiss();//dialog.cancle() 关闭对话框
}
});

//设置自定义的布局
builder.setView(v);

dialog = builder.create();
dialog.show();

}
private void createSingleChoiceDialog(){

AlertDialog.Builder builder=new Builder(MainActivity.this);

builder.setTitle("单选对话框");
//单选对话框
// builder.setSingleChoiceItems(city, 0, new DialogInterface.OnClickListener() {
//
// @Override
// public void onClick(DialogInterface dialog, int which) {
// Toast.makeText(MainActivity.this, city[which], 0).show();
// }
// });

boolean[] b=new boolean[]{true,false,true};
//多选对话框
builder.setMultiChoiceItems(city, b, new OnMultiChoiceClickListener() {

@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if(isChecked){
Toast.makeText(MainActivity.this, city[which], 0).show();
}else{

}

}
});

//TODO:显示出列表对话框
// builder.setItems(items, listener)

AlertDialog dialog=builder.create();
dialog.show();

}


private void createSimpleDialog() {
//new builder对象
AlertDialog.Builder builder=new Builder(MainActivity.this);
//设置标题
builder.setTitle("提示!!!");
//设置内容
builder.setMessage("我的第一个对话框");


builder.setPositiveButton("非常满意", new DialogInterface.OnClickListener(){


@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "非常满意", 0).show();
}

});

builder.setNegativeButton("不满意", new DialogInterface.OnClickListener(){


@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "不满意", 0).show();
}

});

builder.setNeutralButton("一般", new DialogInterface.OnClickListener(){


@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "一般", 0).show();
}

});

//创建出一个对话框
AlertDialog dialog=builder.create();
//显示
dialog.show();

}





}
0 0
原创粉丝点击