Android监听事件四种方法
来源:互联网 发布:淘宝活动倒计时代码 编辑:程序博客网 时间:2024/06/27 03:47
一丶本篇内容(介绍四种监听方法及对比)
第一种:内部类作为事件监听器类
内部类有两种:分别为匿名内部类和不匿名内部类,其中大部分事件监听类都是使用匿名内部类。
其中的好处有:1.可以在当前类中复用该监听器类
2.可以自由访问外部类的所有界面组件
代码片段:
- b1.setOnClickListener(new OnClickListener(){
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Intent intet = new Intent(MainActivity.this,seekbar.class);
- startActivity(intet);
- //finish();
- }
- });
第二种:外部类作为事件监听器类
比较少见,其中优点为:
1.当某个事件监听器被多个GUI界面共享,且主要是完成某种业务逻辑的实现
其中缺点为:
1.不利于提高程序的内聚性
2.不能自由访问创建GUI界面类的组件,编程不够简洁
定义外部类
- public class sd implements OnClickListener{
- public sd(){
- }
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- //定义处理
- }
调用外部类
b1.setOnClickListener(new sd()});
第三种:Activity本身作为事件监听器
可以直接在Activity中定义事件处理方法
其中优点为:非常简洁
缺点为:
1.这种形式可能造成程序结构混乱。Activity的主要职责应该是完成界面初始化;但此时还需包含事件处理器方法,从而引起混乱
2.如果activity界面类需要实现监听器接口,让人感觉比较怪异。
- public class ActivityListener extends Activity implements OnClickListener {
- EditText show;
- Button bn;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- show = (EditText)findViewById(R.id.show);
- bn = (Button)findViewById(R.id.bn);
- bn.setOnClickListener(this);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.activity_listener, menu);
- return true;
- }
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- show.setText("按钮被单击了!");
- }
- }
第四种:直接绑定到标签
android:onClick="clickHandler"(布局xml中)
然后在该布局对应的Activity定义一个 void clickHandler(void source)方法
2 1
- Android监听事件四种方法
- 设置监听事件四种方法
- 四种Button事件注册监听方法
- Android animation(四.监听事件)
- 2-10 Android Button监听事件的四种方法(三)
- android三种方法实现监听事件
- android 三种方法实现监听事件
- Java图形界面事件监听处理之四种方法
- Java图形界面事件监听处理之四种方法
- Java图形界面事件监听处理之四种方法
- Java添加事件监听的四种方法代码实例
- Java图形界面事件监听处理之四种方法
- Java图形界面事件监听处理之四种方法
- Java添加事件监听的四种方法代码实例
- Java添加事件监听的四种方法代码实例
- Java添加事件监听的四种方法代码实例
- Java添加事件监听的四种方法代码实例
- Java图形界面事件监听处理之四种方法
- 笔试题之算法初识
- JavaScript中bind、call、apply函数用法详解
- HDU 1.2.7 AC Me
- ORA-12838: cannot read/modify an object after modifying it in parallel
- HDU 1.2.8 Vowel Counting
- Android监听事件四种方法
- Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务
- HDU 1.3.1 FatMouse' Trade
- Android之来电秀实现(一)
- Rust hello world 语法讲解
- HDU 1.3.2 Tian Ji -- The Horse Racing
- 61-题目1076:N的阶乘
- 实用ListView加载提示工具类
- HDU 1.3.3 开门人和关门人