zoukankan      html  css  js  c++  java
  • 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).

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

  • 相关阅读:
    js判断值是否为数字
    人脸识别 python调用face++ 功能测试
    【转载】Cesium基础使用介绍
    数据分析R&Python-Rpy2包环境配置
    VR/AR软件—Mirra测试(截至2017/11/13),使AR/VR创作更加便捷
    Cesium左右立体视觉续篇——遗留问题(渲染错误)以及临时替代方案
    在CesiumVR基础上实现3D左右立体视觉
    关于css样式的选择问题
    圣杯布局和双飞翼布局
    冒泡排序法
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5269372.html
Copyright © 2011-2022 走看看