前言
今天做的是一个简单的给按钮添加事件的功能。具体讲:点击“离开”按钮,弹出对话框确定是否要离开。而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();
}