您的位置:首页 > 移动开发 > Android开发

Android修炼之道—Adapter与观察者模式(100 喵喵币)

2014-05-07 10:59 197 查看
今天做一个经验小结,我之前在做聊天的状态时,采用了一种很愚蠢的方法。

1 是 主线程将 listview 和
handler

作为参数传入Adapter构造器,Adapter在点击按钮播放语音的后,会再将handler传给自定义的单例MediaPlayer,
MediaPlayer改变播放状态,发消息给handler使主线程的改变界面。

2 主线程 发送按钮,来改变适配器中某一view 的信息,如 发送成功,发送失败,正在发送。我用了还是

向 handler 发送消息 来改变适配器界面,我用的方法更笨,在Adapter的 getView()中 将holder 和 view 都存储起来,

在Adapter里实现 两个方法 getViewAtPosition()和 getHolder();发信息是用msg.what,arg1,arg2,obj来传,

主界面在handler接收消息里来改变holder的某个控件。

小结:真是个很笨的方法,不是吗?

暮然回首:只要在Adapter的item设置状态码,Adapter的notifyDataSetChanged()不是可以解决这些问题吗?

问题是,这样做高效吗?看SDK发现Adapter及notifyDataSetChanged()采用观察者模式,效率绝对没问题。

观察者模式

观察者模式作为JDK使用最多的模式,也是许多开源项目中常用的模式,随后再写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: