基于监听的事件处理——匿名内部类作为事件监听器类
2013-11-04 20:55
260 查看
大部分时候,事件处理器都没有什么复用价值(可复用的代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适。实际上,这种形式是目前最广泛的事件监听器形式。下面的程序使用匿名内部类来创建事件监听器。
下面的程序示范匿名内部类作为事件监听器类
该实例的界面布局文件如下:
该Activity的后台代码如下:
上面的程序中粗体字部分使用匿名内部类创建了一个事件监听器对象,“new 监听器接口”或“new 事件适配器”的形式就是用于创建匿名内部类形式的事件监听器。
运行上面的程序将看到如下效果:
下面的程序示范匿名内部类作为事件监听器类
该实例的界面布局文件如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:gravity="center_horizontal" > <EditText android:id="@+id/show" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false" > </EditText> <Button android:id="@+id/bn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击我" /> </LinearLayout>
该Activity的后台代码如下:
package com.example.studyevent; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class AnonymousListener extends Activity { EditText show; Button bn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_anonymous_listener); show=(EditText)findViewById(R.id.show); bn=(Button)findViewById(R.id.bn); //直接使用Activity作为事件监听器 bn.setOnClickListener(new OnClickListener(){ //实现事件处理方法 @Override public void onClick(View v) { // TODO Auto-generated method stub show.setText("bn按钮被点击了!"); }}); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.anonymous_listener, menu); return true; } }
上面的程序中粗体字部分使用匿名内部类创建了一个事件监听器对象,“new 监听器接口”或“new 事件适配器”的形式就是用于创建匿名内部类形式的事件监听器。
运行上面的程序将看到如下效果:
![](http://images.cnitblog.com/blog/174103/201311/04211656-de00577463fe40509a95d0d02b30e2ae.png)
相关文章推荐
- 基于监听的事件处理——内部类作为事件监听器类
- android基于监听的事件处理(内部类作为事件监听器)
- 基于监听的事件处理——外部类作为事件监听器类
- 基于监听的事件处理——Activity本身作为事件监听器
- 基于监听的事件处理——事件和事件监听器
- Android Studio监听事件匿名内部类的方法及注意事项
- 【Android的事件处理】-----基于监听的事件处理
- Android——UI事件的处理机制(基于监听器)
- 基于监听的事件处理——监听的处理模型
- Android的事件处理机制详解(一)-----基于监听的事件处理机制
- Android中的事件处理总结-基于监听的事件处理
- 安卓基于监听事件处理(一)
- Android 基于监听、回调的事件处理
- Java GUI之事件监听与处理的匿名类实现方法
- 3.1.1 基于监听的事件处理机制
- Java 事件和监听器 监听处理小框架
- Android——基于监听器的事件处理(转)
- Android零基础入门第34节:Android中基于监听的事件处理
- Android的事件处理之基于监听的事件处理
- 事件处理机制之基于监听的事件处理机制