重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
按钮点击事件,说白了就一个方法,setOnClickListener(OnClickListener)。
成都创新互联公司是专业的深泽网站建设公司,深泽接单;提供网站设计制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行深泽网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!只要传递的参数只要是OnClickListener接口的子类即可,很容易想到的2种实现方式就是匿名内部类和定义一个类实现这个接口。另外还有2种实现方法,有必要着重讲一下:
1.让Activity自身实现OnClickListener接口,传递setOnClickListener参数用this。
然后在onClick(View v)方法中,判断事件源id.
switch(v.getId())
{
case R.id.XXX000
响应代码
break;
case R.id.XXX111
响应代码
break;
}
这个和定义一个类实现接口的方法一个道理,只是免得我们再去多定义一个类而已。直接让Activity自身实现OnClickListener接口,实现它里面的OnClick方法。
这种定义方式适用于有多个点击事件的情况。使用这种方式注意导包很容易导错的。
2.在布局文件中定义一个标签属性android:onclick="方法名",然后在Android项目调用这个布局的.java文件中定义一个方法,public 方法名(View v),记住要public且有View参数。
通过查看Button的父类View的源码,可以发现,OnClick底层使用的是反射原理,但是没有使用暴力反射,所以定义方法时要用public。
这种定义事件的方法一般只在测试的时候使用,也可以给多个按钮添加同一个方法名称,通过
v.getId()再去判断一下ID就好了。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。