一、实现功能
点击按钮弹出对话框,对话框有三个按钮以及EditText编辑框,并且获取输入值。
二、实现代码
首先获得Button对象,点击按钮,调用showNormaDialog方法,弹出对话框。
Button mbt1 = (Button) findViewById(R.id.button1);
mbt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
showNormalDialog();
}
});
Dialog 类是对话框的基类,但应该避免直接实例化 Dialog,而应使用其子类,比如
- AlertDialog
此对话框可显示标题、提示信息、按钮、可选择项列表或自定义布局等 - DatePickerDialog 或 TimePickerDialog
此类对话框带有允许用户选择日期或时间的预定义 UI
在这里我们使用的是AlertDialog
public void showNormalDialog() {
AlertDialog.Builder normalDialog = new AlertDialog.Builder(
MainActivity.this);
final EditText mEditText = new EditText(MainActivity.this);
/* @setIcon 设置对话框图标
* 在这里我并没有使用图标
* @setTitle 设置对话框标题
* @setMessage 设置对话框消息提示
* setXXX方法返回Dialog对象,因此可以链式设置属性
* @setView 装入一个EditView
*/
normalDialog.setTitle("你好");
normalDialog.setMessage("请选择");
normalDialog.setView(mEditText);
/*
* 对话框中的Button按钮设置
* @setPositiveButton 会出现在第一个位置
* @setNeutralButton 会出现在第二个位置
* @setNegativeButton 会出现在第三个位置
*/
normalDialog.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//mstr 是全局变量,方便简单的使用
mstr = mEditText.getText().toString();
Toast.makeText(MainActivity.this, ""+mstr, Toast.LENGTH_SHORT).show();
}
});
normalDialog.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
normalDialog.setNeutralButton("等待",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
//显示
normalDialog.show();
}