是否有写内部类优化建议

是否有写内部类优化建议

一个activity中 有许多个控件,有许多个监听方法,在一个类中写这么多内部类,感觉有点杂乱,是否有优化方法,或建议。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2017-05-27 09:57:00

一、点击事件总共有四种写法,分别如下,可以根据自己喜好或具体情况来选择:

1、写一个内部类,实现点击事件的接口:

btn.setOnClickListener(new MyButtonListener());

2、使用匿名内部类:

bt.setOnClickListener(new OnClickListener() { 

    @Override public void onClick(View v) {

        …… 

    }

});

3、当前Activity去实事件接口:

class Test implements OnClickListener{

@Override

public void onClick(View v) {

……

}

4、在布局文件中添加点击事件属性:

android:onClick="btnClick" 

在Activity中实现事件:

public void btnClick(View view){

……

}

注:此写法访问修饰符必须是public,参数是View类型

1、2方式写起来方便,事件比较少时推荐,但如果内部类中处理的逻辑业务比较多,推荐3、4。如果是需要注册的事件比较多,也推荐3、4方式。

如果解决了你的疑惑,请采纳,祝学习愉快~

  • Dosd #1
    老师,这5-2的作业里面要求有动态改变这个TextView的内容,可是我还没学啊,里面有关于线程、UI线程以及handler,发送Message等知识,我之前的那个更新时间的作业就是这样,有个TexeView按理来讲应该跟视频中的一样,实时更新时间,但是他就是更新不了,改作业的老师也说没关系,后面会去学的,我就是想知道,现在这个作业里面的好几个动态更新TextView该怎么办 啊?
    2017-07-21 13:37:52
  • irista23 回复 Dosd #2
    目前在入门阶段只要能利用事件的回调方法比如onClick()中,取得当前时间,会动态改变控件内容即可。不需要做到实时。实时这部分内容需要等学到线程、UI线程以及handler,发送Message等知识才能实现。
    2017-07-21 13:47:30
  • Dosd 回复 irista23 #3
    老师,就比如说,这个作业里面要求拖动进程条,然后左边的TextView中的年龄发生变化,我用那个setText(age),没什么用啊,
    2017-07-21 13:53:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师