Android 控件中事件响应的三种实现方式

来源:互联网 发布:同步带长度计算软件 编辑:程序博客网 时间:2024/06/13 02:02

       平时做项目或学习中,经常编写控件的响应事件,大致有三种方式来实现,如下:

        1.     匿名内部类的形式,据说好像这样写显得编写代码很NB,很多人推荐这种方式,不过我不这么认为,该不懂还是不懂,又显得代码臃肿,不推荐。

        2.     内部类的形式,不推荐。

        3.     实现接口的方式,推荐。

      下面是3种方式的实现demo:

      

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;/** * 控件响应的三种实现方式 * 以button的Onclick事件为例说明 * */public class RespondWidgetActivity extends Activity implements OnClickListener{//代表匿名内部类的buttonprivate Button btn_response_anonyous = null;//代表内部类的buttonprivate Button btn_response_innerclass = null;//代表实现接口的buttonprivate Button btn_response_interface = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//加载显示viewsetContentView(R.layout.activity_respond);//初始化控件信息initView();}/** * 初始化控件信息 * */private void initView(){/** 匿名内部类的方式 */btn_response_anonyous = (Button)findViewById(R.id.btn_response_anonymous);btn_response_anonyous.setOnClickListener(new OnClickListener() {//匿名内部类@Overridepublic void onClick(View v) {Toast.makeText(RespondWidgetActivity.this, "这是匿名内部类的实现方式!", Toast.LENGTH_LONG).show();}});/** 私有内部类的方式  **/btn_response_innerclass = (Button)findViewById(R.id.btn_response_innerclass);btn_response_innerclass.setOnClickListener(new onclick_innerclass());/** 实现接口的方式  推荐**/btn_response_interface = (Button)findViewById(R.id.btn_response_interface);btn_response_interface.setOnClickListener(this);}/** * 内部类,实现 OnClickListener接口 **/private class onclick_innerclass implements OnClickListener{@Overridepublic void onClick(View v) {Toast.makeText(RespondWidgetActivity.this, "这是私有内部类的实现方式!", Toast.LENGTH_LONG).show();}}/** * 实现OnClickListener接口 */@Overridepublic void onClick(View v) {switch(v.getId()){case R.id.btn_response_interface:{Toast.makeText(RespondWidgetActivity.this, "这是采用实现接口的方式!", Toast.LENGTH_LONG).show();break;}default:break;}}}


备注:留着备用。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 军检体重不达标怎么办 到交房租没有钱怎么办 房租没到期房东要收回怎么办 客户指定发快递我要怎么办? 跨境汇款被退回怎么办 汇款途径写错了怎么办 快递被菜鸟驿站退回怎么办 电脑登录账户已锁定怎么办 被外管局查到境外汇款买房怎么办 军校生复检被刷怎么办 企业私刻章拿去挂项目怎么办? 中通快递被退回怎么办 网易邮箱提示被修复怎么办 小孩屁股烫红了怎么办 8岁近视400度怎么办 部队体能差的人怎么办 上环5天同房了怎么办 肾结石有3mm了怎么办 4*3mm肾结石好痛怎么办 做完肾结石积水后迟续发烧怎么办 血糖高有肾结石反复发高烧怎么办 肾里面有小结石怎么办 大于2厘米的结石怎么办 双肾结石肾盏扩张怎么办 边防消防警卫部队改革义务兵怎么办 汽车年检尾气复检不合格怎么办 车辆年检尾气不合格复检怎么办? 在瓜子上买车复检有问题怎么办 更换车壳车架号怎么办 吸完甲醛的绿萝怎么办 如果公务员复检不合格有异议怎么办 国考公务员政审没有毕业证怎么办 打针硬块4年不消怎么办 外墙补起来难看不好卖怎么办 杠精现实中应该怎么办 发现记者报道假新闻怎么办 2018消防兵转制到期士官怎么办 小孩睡觉老想着军训怎么办 1岁宝宝太老实了怎么办 上课小孩很调皮不听话怎么办 初中学生上课爱说话调皮怎么办