AlertDialog
AlertDialog类是Dialog类的子类,它默认提供了3个按钮和一个文本消息,这些按钮可以按需要来使他们显示或隐藏。AlertDialog类中有一个内部静态类,名为“Builder”,Builder类提供了为对话框添加多选或单选列表,以及为这些列表添加事件处理的功能。另外,这个Builder类将AlertDialog对话框上的3个按钮按照他们的位置分别称呼为:PositiveButton, NeutralButton, NegativeButton。
下面是具体代码
public class MainActivity extends Activity {
TextView info;
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
info=(TextView) findViewById(R.id.info);
button1=(Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
dialog();
}
});
}
protected void dialog(){
AlertDialog.Builder builder=new Builder(MainActivity.this);
builder.setMessage("确认退出?");
builder.setPositiveButton("确认", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
info.setText("确认退出");
}
});
builder.setNegativeButton("取消", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
info.setText("取消");
}
});
builder.create().show();
}
}
实现效果
public class MainActivity extends Activity {
TextView info;
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
info=(TextView) findViewById(R.id.info);
button1=(Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
dialog();
}
});
}
protected void dialog(){
AlertDialog.Builder builder=new Builder(MainActivity.this);
builder.setMessage("确认退出?");
builder.setPositiveButton("确认", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
info.setText("确认退出");
}
});
builder.setNegativeButton("取消", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
info.setText("取消");
}
});
builder.create().show();
}
}