android 开发之 ListView 与Adapter 应用实践
在开发android中,ListView 的应用显得非常频繁,只要需要显示列表展示的应用,可以说是必不可少,下面是记录开发中应用到ListView与Adapter 使用的实例:
ListView 所在页面中的布局(listview_item.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true">
<ListView
android:id="@+id/listview_item"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:scrollbars="none">
</LinearLayout>
Adapter 展示的布局 (item.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"> <LinearLayout
android:id="@+id/layout_sub_item_content"
android:layout_width="match_parent"
android:layout_height="50dp"> <ImageView
android:id="@+id/img_choose"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:src="@drawable/xuanzhong_icon"
android:layout_gravity="center_vertical"
/>
<TextView
android:id="@+id/textview_name"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4"
android:gravity="center_vertical"
android:fontFamily="noto-sans-hans-regular"
android:textSize="14sp"
android:textColor="#333333"
android:text="项目名称"
android:paddingLeft="5dp"/> <TextView
android:id="@+id/textview_price"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:fontFamily="noto-sans-hans-regular"
android:textSize="14sp"
android:textColor="#333333"
android:text="454.0"
android:gravity="center"/> <TextView
android:id="@+id/textview_vip"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:fontFamily="noto-sans-hans-regular"
android:textSize="14sp"
android:text="非会员价"
android:gravity="center"
android:textColor="@color/red"/> </LinearLayout>
</LinearLayout>
activity_item.java:
/**
* 项目列表适配器
*/
private MyBaseAdapt itemInfoAdapt; @InjectView(R.id.listview_item)
ListView listview_item; private class ViewHolder {
TextView textview_name;
TextView textview_price;
TextView textview_vip;
ImageView img_choose;
}
/**
*项目数据List
*/
private List<ItemInfo> listItemInfo=new ArrayList<>(); /**
* 初始化列表
*/
private void initItemListView() {
itemInfoAdapt = new MyBaseAdapt<ItemInfo>(this, R.layout.item, listItemInfo) {
@Override
public View myAdapt(int position, View convertView, View mView, List<ItemInfo> mEntityList) {
ViewHolder holder = null;
if (convertView == null) {
convertView = mView;
holder = new ViewHolder();
holder.textview_name = (TextView) convertView.findViewById(R.id.textview_name);
holder.textview_price = (TextView) convertView.findViewById(R.id.textview_price);
holder.textview_vip = (TextView) convertView.findViewById(R.id.textview_vip);
holder.img_choose=(ImageView) convertView.findViewById(R.id.img_choose);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ItemInfo itemInfo = mEntityList.get(position);
holder.textview_name.setText(itemInfo.getName());
holder.textview_price.setText(PriceManager.getPrice(itemInfo.getPriceStr(), itemInfo.getPriceTypeStr()).get(Common.PRICE_TYPE_ORIGIN));
holder.textview_vip.setText(PriceManager.getPrice(itemInfo.getPriceStr(), itemInfo.getPriceTypeStr()).get(Common.PRICE_TYPE_PIONEER));
return convertView;
}
};
listview_item.setAdapter(itemInfoAdapt);
}
android 开发之 ListView 与Adapter 应用实践的更多相关文章
- 【转】Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法
Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法 [原文链接] 这篇文章完美的解决了我几个月没结论的bug... 感谢热爱分享的技术达人~ 我是怎么走进这个大坑的 ...
- Android开发之ListView条目批量选择删除
ListView实现的列表,假设是可编辑,可删除的,一般都要提供批量删除功能,否则的话,一项一项的删除体验非常不好,也给用户带来了非常大的麻烦. 实现效果图 详细实现代码 select.xml 主布局 ...
- Android开发之ListView实现不同品种分类分隔栏的效果(非ExpandableListView实现)
我们有时候会遇到这么一个情况.就是我在一个ListView里面须要显示的东西事实上是有种类之分的.比方我要分冬天,夏天.秋天.春天,然后在这每一个季节以下再去载入各自的条目数据. 还有,比方我们的通讯 ...
- Android开发之ListView添加多种布局效果演示
在这个案例中展示的新闻列表,使用到ListView控件,然后在适配器中添加多种布局效果,这里通过重写BaseAdapter类中的 getViewType()和getItemViewType()来做判断 ...
- Android开发之ListView设置隔行变色
public class HLCheckAdapter extends BaseAdapter { private List<HuoLiang> list; private Context ...
- Android开发之ListView详解 以及简单的listView优化
ListView列表视图 最常用的控件之一,使用场景例如:微信,手机QQ等等. android:divider:每个item之间的分割线,可以使用图片或者色值. android:dividerHeig ...
- android开发之 listview中的item去掉分割线 隐藏分割线
有三种方法: 1> 设置android:divider="@null" 2> android:divider="#00000000" #000000 ...
- 【Android UI】Android开发之View的几种布局方式及实践
引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理 ...
- Android开发之旅: Intents和Intent Filters(理论部分)
引言 大部分移动设备平台上的应用程序都运行在他们自己的沙盒中.他们彼此之间互相隔离,并且严格限制应用程序与硬件和原始组件之间的交互. 我们知道交流是多么的重要,作为一个孤岛没有交流的东西,一定毫无意义 ...
随机推荐
- 巡风源码阅读与分析---nascan.py
Nascan是巡风主要是做目标的资产识别(信息收集). nascan.py 文件位于 nascan/nascan.py # coding:utf-8 # author:wolf@YSRC import ...
- JavaScript 正则表达式全面总结
本文适合有 JavaScript 基础 && 面向搜索引擎书写正则的人群. 正则表达式是用于匹配字符串中字符组合的模式.正则表达式的模式规则是由一个字符序列组成的.包括所有字母和数字在 ...
- Kafka对Java程序员有多重要?连阿里都再用它处理亿万级数据统计
一.了解淘宝Kafka架构 在ActiveMQ.RabbitMQ.RocketMQ.Kafka消息中间件之间,我们为什么要选择Kafka?下面详细介绍一下,2012年9月份我在支付宝做余额宝研发,20 ...
- BBS论坛(二十八)
28.1.帖子分页功能完成 (1)manage.py 通过命令生成100个帖子,用于测试 @manager.command def create_test_post(): for x in range ...
- 『Tarjan算法 无向图的双联通分量』
无向图的双连通分量 定义:若一张无向连通图不存在割点,则称它为"点双连通图".若一张无向连通图不存在割边,则称它为"边双连通图". 无向图图的极大点双连通子图被 ...
- Python爬虫入门教程 8-100 蜂鸟网图片爬取之三
蜂鸟网图片--啰嗦两句 前几天的教程内容量都比较大,今天写一个相对简单的,爬取的还是蜂鸟,依旧采用aiohttp 希望你喜欢 爬取页面https://tu.fengniao.com/15/ 本篇教程还 ...
- asp.net mvc简单实现基于Razor的分页控件
最近在写一些web应用了解了一下asp.net mvc发现的确好用,所以直接就干上了.不过在使用asp.net mvc的Razor模板的情况并不向传统webform那样可以使用控件.但从Razor的功 ...
- 大数据技术之_19_Spark学习_01_Spark 基础解析 + Spark 概述 + Spark 集群安装 + 执行 Spark 程序
第1章 Spark 概述1.1 什么是 Spark1.2 Spark 特点1.3 Spark 的用户和用途第2章 Spark 集群安装2.1 集群角色2.2 机器准备2.3 下载 Spark 安装包2 ...
- 【c#】RabbitMQ学习文档(三)Publish/Subscribe(发布/订阅)
(本教程是使用Net客户端,也就是针对微软技术平台的) 在前一个教程中,我们创建了一个工作队列.工作队列背后的假设是每个任务会被交付给一个[工人].在这一部分我们将做一些完全不同的事情--我们将向多个 ...
- mysql数据库备份并且实现远程复制
一.实现ssh 远程登陆 机器环境: 192.167.33.108 clent 用户:crawler 192.167.33.77 server 用户:crawler 1.客户端 生成密钥 /home/ ...