Android包含两套事件处理机制:
1. 基于监听的事件处理;
2. 基于回调的事件处理。
基于监听的事件处理
涉及到以下三类对象:
1)事件源Event Source:产生事件的来源,通常是各种组件,如按钮,窗口等。
2)事件Event:事件封装了界面组件上发生的特定事件的具体信息,如果监听器需要获取界面组件上所发生事件的相关信息,一般通过事件Event对象来传递。
3)事件监听器Event Listener:负责监听事件源发生的事件,并对不同的事件做相应的处理。
下图是监听事件的模型,关键在第4步,事件监听器实质上是以事件为参数从而执行不同的动作。
在实质编程中,一般我们需要做的就是为组件重写各种监听器。
简单样例:
public class EventQs extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 获取应用程序中的bn按钮 Button bn = (Button) findViewById(R.id.bn); // 为按钮绑定事件监听器。 bn.setOnClickListener(new MyClickListener()); // ① } // 定义一个单击事件的监听器 class MyClickListener implements View.OnClickListener { // 实现监听器类必须实现的方法,该方法将会作为事件处理器 @Override public void onClick(View v) { EditText txt = (EditText) findViewById(R.id.txt); txt.setText("bn按钮被单击了!"); } } }
时间: 2024-10-07 02:00:09