Android UI组件常用的点击事件接口及使用

/**
 * 一、Button
 * 1、接口:OnClickListener
 *    实现:button.setOnClickListener(this);
 *    方法:public void onClick(View v){}
 * 2、接口:OnLongClickListener
 *    实现:button.setOnLongClickListener(this);
 *    方法:public boolean onLongClick(View v){}
 * 
 * 二、TextView,常用的单击和长按接口用法同Button。
 * 
 * 注:实现接口可以使用匿名类,无论是写法还是可维护性,都很优秀,以Button的单击事件为例:
 * 
 * button.setOnClickListener(new View.OnClickListener(){ 
 * 	   public void onClick(View v){
 * 	   //事件处理
 * }});
 * 
 * 三、onTouch( )监听触控事件
 *   接口:OnTouchListener
 *   实现:txv.setOnTouchListener(this);
 *   方法:public boolean onTouch(View v,MotionEvent e){}
 *   
 *   参数v是事件来源对象,e是存储有触控信息的对象,e.getAction()方法可以获取触控的动作种类:
 *   返回值:MotionEvent.ACTION_DOWN,表示手指触碰到屏幕。
 *   返回值:MOtionEvent.ACTION_UP,表示手指离开屏幕。
 *   
 * 四、EditText
 *   接口:TextWatcher
 *   实现:et.addTextChangeListener(this)
 *   方法:beforeTextChanged(){}
 *         onTextChanged(){}
 *         afterTextChanged(){}
 *   
 *   该接口的实现方式与其他组件有明显不同。
 *   该接口的方法有3个,可以没有内容,但是必须全部列出。
 *   
 * 五、RadioButton/RadioGroup
 *   接口:RadioGroup.OnCheckedChangeListener
 *   实现:rg.setOnCheckedChangeListener(this)
 *   方法:public void onCheckedChanged(RadioGroup arg0,int arg1){}
 *   
 *   RadioGroup的最常用方法:getCheckedRadioButtonId();获取选中按钮的资源ID。
 *   
 * 六、CheckBox
 *   接口:CompoundButton.OnCheckedChangeListener
 *   实现:cb.setOnCheckedChangeListener(this)
 *   方法:public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){}
 *   
 *   CheckBox最常用的方法:isChecked();是否被选中,返回布尔值。
 *   
 *   通常会有多个CheckBox复选框,可以将所有复选框的资源ID都放到一个整型数组中,然后用for循环逐一获取
 *   CheckBox对象,并注册其其监听对象(每个CheckBox都需要设置监听对象)。
 *   可以用ArrayList来存储已经选中的CheckBox对象,选中则加入数组,否则删除。
 *   例:
 *   ArrayList<CompoundButton> selected = new ArrayList<>();
 *   public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){
 *   	if(isChecked()){
 *   		selected.add(buttonView);
 *   	}else{
 *   		selected.remove(buttonView);
 *   	}
 *   }
 * 
 * 七、Spinner
 *   接口:AdapterView.OnItemSelecedListener
 *   实现:sp.setOnItemSelecedListener(this);
 *   方法:public void onItemSelected(AdapterView<?> parent,View view,int position,long id){}
 *         public void onNothingSelected(AdapterView<?> parent){}
 *   
 *   Spinner中比较常用的一个方法是:getSelectedItemPosition();获取选中项的位置,从0开始。
 *   
 * 八、ListView
 *   接口:AdapterView.OnItemClickListener
 *   实现:lv.setOnItemClickListener(this);
 *   方法:public void onItemClick(AdapterView<?> parent,View view,int position,long id){}
 * 
 *  关于七和八的延伸:ArrayAdaper,作为Spinner和ListView连通数据的桥梁。
 *  使用方法:
 *  1、创建ArrayAdapter对象。
 *  2、设置选单选项的显示样式(ListView中不需要此步骤)。
 *  3、将ArrayAdapter和Spinner(或ListView)绑定在一起。
 * 
 *  Spinner例:
 *  1、创建ArrayAdapter对象。参数1:当前活动对象  参数2:Spinner组件在显示时(未展开选单)所使用的布局文件  
 *     参数3:作为数据源的字符串数组
 *  ArrayAdapter<String> tempAd = new ArrayAdapter<>(this,android.R.layout.simple_spinner_item,tempSet);
 *  2、设置选单显示样式。只有一个参数:定义展开选单后所使用的布局文件
 *  tempAd.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 *  3、将ArrayAdapter与Spinner绑定。创建Spinner对象并关联文件,然后指定所使用的Adapter。
 *  Spinner sp = (Spinner)findViewById(...);
 *  sp.setAdapter(tempAd);
 * 
 *  ListView例:
 *  1、创建ArrayAdapter对象。
 *  ArrayAdapter<String> tempAd = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,
 *  new String[] {"春","夏","秋","冬"});
 *  2、将ArrayAdapter与ListView绑定。创建ListView对象并关联文件,然后指定所使用的Adapter。
 *  ListView lv = (ListView)findViewById(...);
 *  lv.setAdapter(tempAd);
 * 
 *  使用时一定要注意Spinner和ListView的区别。
 *  数据源除了用数组之外,为了应变随时变化的显示项目,可以使用ArrayList<String>。
 * 
 *       总结参考:《Android App开发入门 第2版》 机械工业出版社 施威铭 著 2017.8
 * */

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值