Button事件 -- Android Dev Note

前言


今天做的是一个简单的给按钮添加事件的功能。具体讲:点击“离开”按钮,弹出对话框确定是否要离开。而Java瞎看了看,没怎么学,解释可能不到位 见谅。

步骤:

  • 在布局中添加按钮
  • 在Activity类中添加对应到布局文件中的类变量
  • 添加一个事件添加函数
  • 在函数onCreate中调用

布局文件

一个按钮

从组件选择器里面拖拽Button到合适的位置

源码文件

增加一个类成员变量

// 这个变量用来存储要绑定的按钮
private Button btn;

增加一个函数

public void addListenerToBtn() // 这里没有参数
{
    // 使用findViewById来得到想要绑定的按钮
    btn = (Button)findViewById(R.id.button);
    btn.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v)
                {
                    // 这个语句块中的内容会在按钮被点击的时候触发
                    // 这里是弹出一个对话框,询问是否退出
                    AlertDialog.Builder a_builder = new AlertDialog.Builder(main.this); // 构造一个提示框构造器 main是类名
                    // 设置提示消息 设置是否可取消 
                    a_builder.setMessage("真的要退出吗?").setCancelable(false)
                    // 设置积极按钮,第二个参数是一个OnClickListener
                    .setPositiveButton("是", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    })
                    // 设置消极按钮
                    .setNegativeButton("否", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });

                    // 使用创建的提示框构造器构造一个提示框
                    AlertDialog alert = a_builder.create();
                    // 设置标题
                    alert.setTitle("提示");

                    alert.show();

                }
            }
    );
}

在类函数onCreate中调用此函数

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 看这里
    addListenerToBtn();
}