当前位置: 代码迷 >> Android >> Android 事件监听处置
  详细解决方案

Android 事件监听处置

热度:15   发布时间:2016-04-28 00:10:38.0
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)findViewById(R.id.ConnectButton);        //为按钮绑定事件监听器,并实现该监听类的方法        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).

这里使用匿名内部类作为事件监听器类

版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案