视频来自千峰网Android应用开发视频教程5.1
package com.example.alertdialog;
/*博客作者 X_x_O_0_o
* 程序题目AlertDialog的使用
* 日期2015-1-19
* 程序描述:一个按钮,单击弹出AlertDialog的对话框
* 对话框中有三个按钮 确定 忽略 取消
* 单击这三个按钮分别弹出相应的Toast提示
*
* */
import javax.security.auth.PrivateCredentialPermission;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
private AlertDialog.Builder builder;//创建对象
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//AlertDialog.Builder builder;//用这句使用创建对象时不能加private。
builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("提示一");
builder.setMessage("这是提示一的提示信息");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "你单击了确定", 10).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "你单击了取消按钮", 10).show();
}
});
builder.setNeutralButton("忽略", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "你单击了忽略按钮", 10).show();
}
});
builder.show();
}
});
}
}
知识点总结:
Dialog是一个基类,不建议直接new出一个Dialog类,而可以用它下面的子类,今天要讲的就是这个AlertDialog。
它可以添加最多三个按钮。
也可以自定义一个布局。
要声明一个AlertDialog,内部类是AlertDialog.Builder,要用它来构建一个builder。
收获心得:
掌握还是不精通,一些基本的代码几天不用就忘了怎么编写。
在单击事件中编写AlertDialog对话框的内容,因为在这时才真正用到。
学会用两种方法来创建对象private AlertDialog.Builder builder;来和那个注释的内容。
了解到对话框的使用只是set**等。
了解AlertDialog的创建方法private AlertDialog.Builder builder;
使用两步创建AlertDialog:
[private] AlertDialog.Builder builder;
builder = new AlertDialog.Builder(MainActivity.this);
结果展示:
界面单击按钮后:
单击确定后弹出:
发现问题:
1、在这里的三个Toast,在动作足够快时,第二个的出现不会受第一个的阻挡。就是说,之前试过,如果你设定了第一个Toast的时间是5s,那么在这5s内启动了第二个Toast的时候,必须等到第一个Toast严格经过了5s的时间消失后才能启动出来。而这里就不需要在你启动第二个Toast后,第一个Toast没到时间也会自动消失被第二个替代。(这里指的是一个AlertDialog内)
2、AlertDialog中的按钮 最多 三个,也可以有两个或一个。