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).

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值