Button设置监听的三种⽅式Button 是继承⾃TextView
基本监听步骤:
1、写布局
2、在Activity的onCreate中初始化控件
徐福庙
3、定义监听类
4、设置监听
5、填写监听实现⽅法
点击监听:onClickListener
1、定义监听的实现类
class BtnClickListener implements OnClickListener{
/**
* 当监听的视图被点击时触发 , 参数 v 表⽰被点击的对象
*/
@Override
public void onClick(View v) {
count++;
tv.tText(" 点击了 "+count+" 次 ");
}
}
2、对视图设置监听器对象
protected void onCreate(Bundle savedInstanceState) {
tContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.m_tv);
醉清风歌词// 从布局中获取视图对象
Button btn = (Button) findViewById(R.id.m_btn);
// 创建监听器
BtnClickListener l = new BtnClickListener();
// 设置按钮的点击监听
btn.tOnClickListener(l);
}
监听的第⼆种设置 – 匿名内部类
地球上的星星观后感⼀次性的
btn2.tOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Button b = (Button) v;
tv.Text());
}
});
使⽤成员变量实现共享监听器
// 按钮的点击监听器
private OnClickListener mClick = new OnClickListener() {
@Override
public void onClick(View v) {
Button b = (Button) v;
tv.Text());
}
};
protected void onCreate(Bundle savedInstanceState) {
tContentView(R.layout.activity_main);
...
// 使⽤匿名内部类
btn2.tOnClickListener(mClick);
.
..
}
心理讲座心得体会监听器的第三种设置⽅式,可以直接在 Activity (视图处理的类)上直接实现 OnClickListener ,重写 onClick ⽅法
public class MainActivity extends Activity implements OnClickListener {
...
生产小组@Override
protected void onCreate(Bundle savedInstanceState) {
tContentView(R.layout.activity_main);
...
findViewById(R.id.m_btn2).tOnClickListener(this);
...
}
@Override
public void onClick(View v) {
Button b = (Button) v;
tv.Text());
}
}
多个视图共享监听器:
可以使⽤ id 来区分
@Override
创先争优
public void onClick(View v) {
// 获取被点击的视图的 id
switch (v.getId()) {
ca R.id.m_btn:
tv.tText(" 第⼀个按钮被点击 ");
break;
ca R.id.m_btn2:
tv.tText("ABC 123");
break;
}
接纳的近义词
}
长按监听
实现 OnLongClickListener ,重写 onLongClick(View v) ⽅法
@Override
public boolean onLongClick(View v) {
// 视图被长按之后做的事情
tv.tText(" 按钮被长按了 ");
//fal 表⽰不拦截事件,可以向下传递
//true 表⽰拦截了事件,到此为⽌假日经济的优点
return true;
}