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

今天做一个经验小结,我之前在做聊天的状态时,采用了一种很愚蠢的方法。
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使用最多的模式,也是许多开源项目中常用的模式,随后再写。

你可能感兴趣的:(Android修炼之道—Adapter与观察者模式(100 喵喵币))