Android 事件监听处理
事件监听的处理模型包括三个成员:事件源、事件以及事件监听器。
基于监听的事件处理模型一般包括几个步骤:
1、获取普通界面组件;2、实现事件监听器类
3、将监听器对象注冊给普通组件
当事件源上发生指定事件的时候。Android就会触发相应事件监听器,并由事件监听器调用相应的方法来处理事件。
public class RemoteControlActivity extends Activity { EditText ipET; EditText socketET; Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ipET = (EditText)findViewById(R.id.IpEditText); socketET = (EditText)findViewById(R.id.SocketEditText); //获取程序中名为 ConnectButton 的button组件 button = (Button)findViewById(R.id.ConnectButton); //为button绑定事件监听器,并实现该监听类的方法 button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String ipnum = ipET.getText().toString(); int socketnum = Integer.parseInt(socketET.getText().toString()); Settings.ipnum =ipnum; Settings.scoketnum = socketnum; try { DatagramSocket socket = new DatagramSocket(); InetAddress serverAddress = InetAddress.getByName(ipnum); Intent intent = new Intent(RemoteControlActivity.this,ControlActivity.class); RemoteControlActivity.this.startActivity(intent); RemoteControlActivity.this.finish(); Toast.makeText(RemoteControlActivity.this, "连接成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } }
从上面代码中能够看到。被监听的事件源是名字为connectbutton的按钮(即事件源),随之调用 setOnClickListener 方法将事件监听器对象 OnClickListener() 注冊给事件源,而且实现了事件监听类 OnClickListener() 及其方法 onClick(View v).
这里使用匿名内部类作为事件监听器类