SDK中自带的诸如SimpleCurorAdapter可能不符合开发者的项目需求,因而需要对视图层及逻辑层进行重写,也就是ListVew和Adapter。
先上例子,之后进行解释,并对开发中遇到的问题进行汇总。
XML(res/layout/list_item.xml)
Adapter(MyAdapter.java)
本例的MyAdapter继承于BaseAdapter,BaseAdapter是所有Adapter类的父类,在该类里最重要的当属public View getView(int pos, View v, ViewGroup vg)方法,它决定了如何在ListView中显示数据。例子中的getView方法包括了如何获取xml布局及在TextView中显示数据等步骤。本例中getItemId用的是hashCode,并没有什么特殊的意义,就这么一写而已。
在开发中遇到的问题:
1. 在xml文件中,TextView没有写android:layout_width和android:layout_height,导致了RuntimeException;
2. 在MyAdapter类中的getCount中,由于eclipse默认的是return 0,所以导致了异常。