如何给android中监听事件添加动作
3个回答
2015-01-26 · 知道合伙人影视综艺行家
关注
展开全部
android中监听事件添加动作
方法/步骤
方法1:在activity组件的oncreate事件中直接定义
这种方法比较简单粗暴, 初学者可以用这种方式,比较容易理解。
Button btn = (Button) findViewById(R.id.myButton); btn .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //do something } });
方法2:在activity组件实现其接口,这样可以多外控件共享一个接口。
这个方法代码的可读性更强一点哦。
public class TestMedia extends Activity implements View.OnClickListener{ Button btn1 = (Button) findViewById(R.id.myButton1);Button btn2 = (Button) findViewById(R.id.myButton2); btn1 .setOnClickListener();btn2 .setOnClickListener();} public void onClick(View v) { switch (v.getId()) { case R.id. myButton1: //do something break; case R.id. myButton2: //do something break; }
在onClick函数里面,有的同学喜欢用if结构,那样代码执行效率有点低。用switch结构的,一定要注意break。
3
方法3:类似第二种,这样的好处在于如果需要实现多个监听接口
public class TestMedia extends Activity { Button btn1 = (Button) findViewById(R.id.myButton1);Button btn2 = (Button) findViewById(R.id.myButton2);btn1 .setOnClickListener(new ClickEvent());btn2 .setOnClickListener(new ClickEvent());}class ClickEvent implements View.OnClickListener public void onClick(View v) { switch (v.getId()) { case R.id. myButton1: //do something break; case R.id. myButton2 : //do something break; }
个人推荐使用第三中哦。
方法/步骤
方法1:在activity组件的oncreate事件中直接定义
这种方法比较简单粗暴, 初学者可以用这种方式,比较容易理解。
Button btn = (Button) findViewById(R.id.myButton); btn .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //do something } });
方法2:在activity组件实现其接口,这样可以多外控件共享一个接口。
这个方法代码的可读性更强一点哦。
public class TestMedia extends Activity implements View.OnClickListener{ Button btn1 = (Button) findViewById(R.id.myButton1);Button btn2 = (Button) findViewById(R.id.myButton2); btn1 .setOnClickListener();btn2 .setOnClickListener();} public void onClick(View v) { switch (v.getId()) { case R.id. myButton1: //do something break; case R.id. myButton2: //do something break; }
在onClick函数里面,有的同学喜欢用if结构,那样代码执行效率有点低。用switch结构的,一定要注意break。
3
方法3:类似第二种,这样的好处在于如果需要实现多个监听接口
public class TestMedia extends Activity { Button btn1 = (Button) findViewById(R.id.myButton1);Button btn2 = (Button) findViewById(R.id.myButton2);btn1 .setOnClickListener(new ClickEvent());btn2 .setOnClickListener(new ClickEvent());}class ClickEvent implements View.OnClickListener public void onClick(View v) { switch (v.getId()) { case R.id. myButton1: //do something break; case R.id. myButton2 : //do something break; }
个人推荐使用第三中哦。
推荐于2016-02-29 · 知道合伙人软件行家
关注
展开全部
Android中View可以增加非常多的事件,以onClick事件为例吧:
View的onClick事件有四种写法:
1.匿名内部类:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//点击后执行
}
});
2.自定义单击事件监听类:
class MyClickListener implements OnClickListener {
@Override
public void onClick(View v) {
//点击后执行
}
}
3.Activity直接实现View.OnClickListener的onClick方法
@Override
public void onClick(View v) {
//点击后执行
}
4.在XML文件中显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法:
android:onClick="onClick"
public void onClick(View v) {
//点击后执行
}
View的onClick事件有四种写法:
1.匿名内部类:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//点击后执行
}
});
2.自定义单击事件监听类:
class MyClickListener implements OnClickListener {
@Override
public void onClick(View v) {
//点击后执行
}
}
3.Activity直接实现View.OnClickListener的onClick方法
@Override
public void onClick(View v) {
//点击后执行
}
4.在XML文件中显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法:
android:onClick="onClick"
public void onClick(View v) {
//点击后执行
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我一般都是说给事件添加监听的
是先foundById,找到一个要被监听的物体, 例如按钮或者是标签
然后你还需要一个监听器类 class MyListener extends OnClickListener{ //要监听什么事件就继承什么监听器 例如这个是点击事件
复写一个方法(event t){
具体的动作
}
}
然后setXxxListener(new MyListener())
是先foundById,找到一个要被监听的物体, 例如按钮或者是标签
然后你还需要一个监听器类 class MyListener extends OnClickListener{ //要监听什么事件就继承什么监听器 例如这个是点击事件
复写一个方法(event t){
具体的动作
}
}
然后setXxxListener(new MyListener())
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询