一、Android的事件监听器

OnClickListener :单击事件

OnFocusChangeListener:焦点事件

OnkeyListener:按键事件

OnTouchListener:触摸事件

OnCreateContextMenuListener:创建上下文菜单事件

OnCheckedChangeListener:选项改变事件

二、事件处理的四种方式

1、Activity本身作为监听器

1
2
3
4
5
6
7
8
9
10
11
12
13
1、初始化组件
clickBtn = (Button) findViewById(R.id.clickBtn);
3、直接使用Activity作为事件监听器
clickBtn.setOnClickListener(this);
2、在事件处理方法中编写事件处理代码
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.clickBtn:
//事件处理方法
break;
}
}

2、匿名内部类形式

1
2
3
4
5
6
7
8
9
1、初始化组件
clickBtn = (Button) findViewById(R.id.clickBtn);
2、使用匿名内部类创建一个监听器
clickBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//实现事件处理的方法
}
});

3、内部类、外部类形式

1
2
3
4
5
6
7
8
9
10
11
1、初始化组件
clickBtn = (Button) findViewById(R.id.clickBtn);
2、直接使用Activity作为事件监听器
clickBtn.setOnClickListener(new ClickListener());
3、内部类方式定义一个事件监听器
class ClickListener implements OnClickListener{
@Override
public void onClick(View view) {
//实现事件处理的方法
}
}

4、绑定标签

1
2
3
4
5
6
7
8
9
event_tag.xml
<Button
android:onClick = "clickBtn" />
1、初始化组件
clickBtn = (Button) findViewById(R.id.clickBtn);
2、直接使用
public void clickBtn(View view) {
//实现事件处理的方法
}

三、RadioButton单选按钮和RadioGroup单选按钮组

RadioButton相关方法

  • getCheckedRadioButtonId():获取被选中按钮的ID。
  • clearCheck():清楚选中状态。
  • check(int id):通过参数id来设置该选项为选中状态,如果传入-1则清除单选按钮组的选中状态,相当于当于clearCheck。
  • setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener listener):在一个单选按钮中,当该单选按钮勾选状态发生改变时所要调用的回调函数。
  • addView(View child, int index, ViewGroup.LayoutParams params):使用指定的布局参数添加一个子视图。child:所要添加的子视图,index:将要添加的子视图的位置,params:所要添加的子视图的布局参数。
  • getText():用于获取单选按钮的值。

四、Dialog对话框

1、AlertDialog提示对话框

AlertDialog相关方法

void create():根据设置的属性,创建一个AlertDialog。

vois show():根据设置的属性,显示已创建的AlertDialog。

AlertDialog.Builder.setTitle:设置标题。

AlertDialog.Builder.setIcon:设置标题的图标。

AlertDialog.Builder.setMessage:设置标题的内容。

AlertDialog.Builder.setCancleable():设置是否模态,一般设置为false,表示采用模态形式,要求用户必须采取行动才能继续进行剩下的 操作。

AlertDialog.setPositionButton:为对话框添加Yes按钮。

AlertDialog.setNegativeButton:为对话框添加No按钮。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//普通对话框
AlertDialog.Builder builder = new AlertDialog.BUilder(mContext);
builder.setMessage("确认退出嘛?").setTitle("提示");


builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {

}
});

builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {

}
});
alertPop.show();

2、ProgressDialog进度对话框

1
2
3
4
5
//滚动等待对话框
final ProgressDialog progressDialog = new ProgressDialog(mContext);
progressDialog.setMessage("正在加载...").setTitle("等待");
progressDialog.show();