您可以扩展BaseAdaptor,覆盖getVIEw()并让它返回一些VIEwGroup,其中包含表示来自不同列表的数据的小部件.
对选择的VIEwGroup进行子类化以构建更易于回收的复合视图:
public class DoubleText extends linearLayout { TextVIEw t1,t2; public DoubleText(Context c) { super(c); t1 = new TextVIEw(c); t2 = new TextVIEw(c); this.addVIEw(t1,0); this.addVIEw(t2,1); } public voID setText(String s1,String s2) { t1.setText(s1); t2.setText(s2); }}
对BaseAdapter进行子类化,但不显示需要的东西,还有更多,
但它应该更容易弄清楚,因为这是更大的差异
与使用适配器的其他示例相比:
public class DoubleAdaptor extends BaseAdaptor { List<String> Lista,Listb; // <- these are your paralell arrays,they and the Context c; // context need to be initialized by some method @OverrIDe public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) { DoubleText recycled = (DoubleText) convertVIEw; if (recycled == null) { recycled = new Double(context); recycled.setText(Lista.get(position),Listb.get(position)); return recycled; }}
此外,您不必在所有行上具有相同的视图类型,即覆盖
getVIEwTypeCount()给androID提供不同视图数量的上限
要使用的类型和getItemVIEwType(int position)告诉androID哪种类型的视图
为特定行回收.
编辑:我建议检查适配器(接口)和BaseAdapter(抽象类)和listadapter(接口)上的androID开发人员文档,我也忘了告诉你,ListVIEw有一个可能感兴趣的setAdapter().
总结以上是内存溢出为你收集整理的android – 手动填充ListView全部内容,希望文章能够帮你解决android – 手动填充ListView所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)