Android入门-事件响应方法
来源:互联网 发布:各专业软件大全 编辑:程序博客网 时间:2024/06/01 16:00
android的事件响应方法,有四种:
方法一:
在Activity的onCreate函数中,直接调用控件的setOnXXXListener()函数,
并在监视器接口参数中,通过匿名类实现行为功能,该方法最为常用,实现灵活。
参考代码如下:
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
......
final Button btn1 = (Button)findViewById(R.id.button1);
final Button btn2 = (Button)findviewById(R.id.button2);
btn1.setOnClickListener(new View.onClickListener(){
public void onClick(View v){
......
}
});
btn2.setOnClickListener(new View.onClickListener(){
public void onClick(View v){
......
}
});
}
方法二:
利用Activity实现某类事件响应接口,在接口函数中统一处理各个UI控件的该类事件,
由于在接口函数中,需要区分各个UI控件,当需要处理的控件多或事件类型多时,流程复杂,扩展也不方便。
参考代码如下:
public class TestActivity extends Activity implements OnClickListener{
private Button btn1;
private Button btn2;
@Override
public void onCreate(Bundle savedInstanceState){
btn1 = (Button)findViewById(R.id.button1);
btn2 = (Button)findViewById(R.id.button2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.button1:
......
break;
case R.id.button2:
......
break;
default:
break;
}
}
}
方法三:定义一个内部类,该内部类实现了监听器接口,把该内部类的对象作为参数传入UI控件的setOnXXXListener函数中。
优点是:较方式一代码逻辑较为清晰,且监控器处理函数可以重用。缺点是:没有方法一简洁。
参考代码如下:
public class TestActivity extends Activity{
private BtnOnClickListener btnClickListener = new BtnOnClickListener();
class BtnOnClickListener implements OnClickListener{
public void onClick(View v){
......
}
}
@Override
public void onCreate(Bundle savedInstanceState){
final Button btn1 = (Button)findViewById(R.id.button1);
final Button btn2 = (Button)findViewById(R.id.button2);
btn1.setOnClickListener(btnClickListener);
btn2.setOnClickListener(btnClickListener);
}
}
方法四:
直接在界面布局文件中为指定控件绑定事件处理方法,优点:灵活,松耦合;缺点:代码不好理解;同JAVA的注解编程类似。
参考代码:
main.xml 布局文件
......
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="btn1Click"
android:text="单击测试" />
......
Activity01.java源代码文件
public class Activity01 extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void btn1Click(View v){
Toast.makeText(this, "HAHA! FOUND YOU!", Toast.LENGTH_SHORT).show();
}
}
参考:
http://www.apkbus.com/android-18459-1-1.html
- Android入门-事件响应方法
- Android 入门笔记——按钮响应事件设置的两种方法
- android-单击事件的响应方法
- android入门(五) 常见事件响应及实现方式
- 笔记事件响应方法
- [Android]事件响应
- Android键盘响应事件
- android界面响应事件
- Android Button 的单击事件的三种响应方法
- 解决android ListView item中事件处理无法响应方法
- Android Button 的单击事件的三种响应方法
- Android中的WebView禁止响应点击事件的方法
- ANDROID控件添加事件响应的三种方法
- Android Button响应点击事件的几种方法大合集
- Android响应按钮点击事件的4种方法实现
- Android中的WebView禁止响应点击事件的方法
- C# 事件及响应方法
- C# 事件及响应方法
- hdoj 1231 最大连续子序列(动态规划)
- Java实现选择电脑路径的方法
- 稳定匹配问题
- cocos2dx 3.3 跑酷游戏 信息层
- 83 2.百度笔试题 memmove
- Android入门-事件响应方法
- java 进制转换
- 计算机视觉文献与代码资源
- 1.cocos2dx内存管理和CCArray,CCMenuItem
- Servlet读取properties资源文件
- 类的大小
- 字符串+数组模拟大整数乘法
- 常用网站记录
- 立方跟