我已经了解到,为了最大限度地提高Android列表视图的效率,您应该只需要尽可能多的充满“行”视图,以适应屏幕.一旦视图移出屏幕,您应该在getView方法中重用它,检查convertView是否为null.

但是,当您需要2个不同的列表布局时,如何实现这个想法?让我们说它的订单列表和1个布局是针对已完成的订单而另一个布局是针对流程订单.

这是我的代码使用的想法的示例教程.就我而言,我将有两行布局:R.layout.listview_item_product_complete和R.layout.listview_item_product_inprocess

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;

if (convertView == null) {

holder = new ViewHolder();

if(getItemViewType(position) == COMPLETE_TYPE_INDEX) {

convertView = mInflator.inflate(R.layout.listview_item_product_complete, null);

holder.mNameTextView = (TextView) convertView.findViewById(R.list.text_complete);

holder.mImgImageView = (ImageView) convertView.findViewById(R.list.img_complete);

}

else { // must be INPROCESS_TYPE_INDEX

convertView = mInflator.inflate(R.layout.listview_item_product_inprocess, null);

holder.mNameTextView = (TextView) convertView.findViewById(R.list.text_inprocess);

holder.mImgImageView = (ImageView) convertView.findViewById(R.list.img_inprocess);

}

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

thisOrder = (Order) myOrders.getOrderList().get(position);

// If using different views for each type, use an if statement to test for type, like above

holder.mNameTextView.setText(thisOrder.getNameValue());

holder.mImgImageView.setImageResource(thisOrder.getIconValue());

return convertView;

}

public static class ViewHolder {

public TextView mNameTextView;

public ImageView mImgImageView;

}

java list布局_java – 使用2种不同的布局重用Android Listvi...相关推荐

  1. java flowlayout参数_java经典5种 FlowLayout 、BorderLayout、GridLayout、GridBagLayout、CardLayout布局...

    Java 程序通过jvm可以很好的移植到其他平台上,但是java 生成的图形界面样式,在不使用布局的情况下,往往需要重新设定大小,才能在新的平台上调整到最佳样式.这是由于组件的最佳大小 往往是与平台相 ...

  2. AutoLayout代码布局使用大全—一种全新的布局思想

    相信ios8出来之后,不少的ios程序员为了屏幕的适配而烦恼.相信不少的人都知道有AutoLayout 这么个玩意可以做屏幕适配,事实上,AutoLayout不仅仅只是一个为了多屏幕适配的工具, 它真 ...

  3. css浮动布局自适应,CSS 几种常用自适应布局

    通过阅读和实践,我对几种常用的布局样式有了一定的了解,也稍微总结了一下原理,若有不对请大家纠错.谢谢 我理解的[两列布局]左边固定和右边自适应,或者右边固定左边自适应的原理是: 1.设置固定区域的宽度 ...

  4. html中页面布局主要有,4种Html页面布局

    有些人经常问我这样的一些问题,就是如何才能在页面上精确的控制元素,为什么我的页面总是一直在飘呢,我在这里只想说,关于页面布局,标准也很重要. (1)流体布局 流布局与固定宽度布局基本不同点就在于对网站 ...

  5. java领域对象_java的几种对象(po,dto,dao等)

    j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维. POJO(plain old java object):普通的java对象,有别于特殊的java对 ...

  6. java B锁_Java中15种锁的介绍

    原标题:Java中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容如下: 1.公平锁 / 非公平锁 2.可重入锁 / 不可重入锁 3.独享 ...

  7. java 数据对象_java的几种对象(PO,VO,DAO,BO,POJO)

    一.PO persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数 ...

  8. java跳转_java servlet 几种页面跳转的方法

    Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面. 1) redirect 方式 response.sendRedirect("/a.jsp& ...

  9. java默认值_Java中八种基本数据类型的默认值

    通过一段代码来测试一下 8种基本数据类型的默认值 package dierge; public class Ceshi { int a; double b; boolean c; char d; fl ...

最新文章

  1. Datawhale赛事大满贯来了!
  2. 既要宽广,又要深邃,这也行
  3. [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
  4. Matlab出现未定义与‘char’类型的输入参数想对应的函数‘xxx‘
  5. 使用gulp+browser-sync搭建Sass自动化编译以及自动刷新所需要的插件
  6. 腾讯想拿到Big Data资源,8h删抓紧时间!!
  7. 多线程(一)--线程的创建,Thread类与Runnable接口
  8. 字典制作、在线密码破解
  9. 2022年认证杯SPSSPRO杯数学建模A题(第二阶段)人员的紧急疏散求解全过程文档及程序
  10. 【mean teacher】RuntimeError: Integer division of tensors using div or / is no longer suppor的解决
  11. typescript中this报错
  12. cuba study
  13. Minimum supported Gradle version is 4.10.1. Current version is 4.6.
  14. GridView分页 记录总数:15 总页数:2 当前页:1 首页 上一页 下一页 尾页 GO
  15. java 多线程 超时_【Java】Java多线程任务超时结束的5种实现方法
  16. Redis源码精炼版
  17. linux ip route 命令详细解释
  18. codeforces 1238
  19. 【课程】大气对流参数
  20. 使用命令行下载VS2022离线安装文件

热门文章

  1. Android开机logo修改方法
  2. 小龟小车A2学习笔记
  3. 10-Flutter移动电商实战-使用FlutterSwiper制作轮播效果
  4. java发送http连接
  5. JSP完全自学手册图文教程
  6. iOS -OC调用js页面
  7. zabbix如何监控WEB应用性能
  8. 【转】tcp链接的状态
  9. 配置Java开发环境
  10. linux bash 学习