最新消息:

ListView中多种布局类型的设置方法,一步步重构代码

android 大步 1014浏览 0评论

 

ListView是支持多种布局的,例如,新浪微博中布局就分很多种,有的布局有图片,有的只有文字等。
先看下效果:

4539218
两种布局类型:
type_imageview.xml:

 

type_textview.xml:

 

MainActivity.java:

 

ListViewItem.java:

不同的CustomAdapter.java的写法:

第一种:

CustomAdapter.java:

 

第二种:

 

剩下的问题:

上面两种虽然可以实现功能,但是有个问题,上面中才两种布局,如果有5种布局,则CustomAdapter.java中代码就很长了。所以我们需要将getView()中的代码拆解到多个文件中。

第三种写法:

先定义一个接口DelegateAdapter,这个接口有个方法专门用来返回不同的布局:
DelegateAdapter.java:

 

然后有几个布局,就写个类来实现接口DelegateAdapter:
TextDelegateAdapter.java:

 

ImageDelegateAdapter.java:

 

现在的CustomAdapter.java比上面两种写法要简洁和干净些。
CustomAdapter.java:

 

 

其余的MainActivity.java和布局文件都和上面一样。

 

见下一篇《android中用注解的方式实现ListView多种布局设置

 

 

 

转载请注明:大步's Blog » ListView中多种布局类型的设置方法,一步步重构代码

SiteMap