Jamendo开源在线音乐播放器源码分析之主界面显示Adapter之功劳
?今天分析下主界面的形成,截个图如下:
?
?主界面主要由两部分构成,一个Header和一个ListView,Header部分由一个ViewFlipper构成,主要分三种,一个loading画面,一个Gallery显示,一个获取failed画面,由于重点是下面的listView部分,所以本部分在此就不详细说明了,布局代码如下:
?
??? 下面就是一个ListView,下面来详细说明一下这个ListView的构成:
??? 我们知道一般ListView显示都离不开Adapter,在此也不例外,或继承自BaseAdapter,然后重写getView方法,或直接调用android已经写好的方法,之所以拿这个来讲,是因为这里稍微有点特殊,它并不是就直接实现getView方法然后,通过调用setAdapter显示,而是在其中添加了一步,将原本能通过一个Adapter显示的分成两部分,加入Browse Jamendo 和Libray这两个TextView,让用户更容易理解,通过分析这个listView的实现,可以加深对Adapter实现方式的理解。
??? 首先定义一行要显示的Layout,然后定义PurpleEntry这个类,这个类里面主要定义了要显示某一行的一些变量,用于适配,这个和一般实现没什么区别
????
??
public SeparatedListAdapter(Context context) {//此处进行显示Browse Jamendo及library等初始化工作headers = new ArrayAdapter<String>(context, R.layout.list_header);} //String section 表示要显示的文字public void addSection(String section, Adapter adapter) {this.headers.add(section);this.sections.put(section, adapter);}?