落日余晖,listview快速编写
2019独角兽企业重金招聘Python工程师标准>>>
自从recycleview问世,listview走上了被抛弃的道路,这个慢慢过时的控件,就真的一无是处了吗?
recycleview的优点就是灵活性很好,缺点也有,就是灵活性太好了,很多东西需要自己动手去写,例如添加头部,添加item的点击事件,回头想想,在listview中,这些功夫都省去了,如果需求不是特别复杂的话,listview还是很有用武之地的。
listview调用三部曲
1、在xml布局文件中添加listview控件,创建item布局文件
<ListViewandroid:id="@+id/listview"android:layout_width="match_parent"android:layout_height="wrap_content" />
2、创建adapter
public class MyAdapter extends BaseAdapter {private List<Map<String, String>> data;private Context context;public MyAdapter(List<Map<String, String>> data, Context context) {this.data = data;this.context = context;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn data.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn data.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubViewHolder holder = null;if (convertView == null) {holder = new ViewHolder();convertView = View.inflate(context, R.layout.item, null);//item布局文件convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}//在这里初始化数据和绑定相关事件return convertView;}private class ViewHolder {}
}
3、绑定listview控件,并初始化
//初始化数据
private List<Map<String, String>> datalist;private void initData() {datalist = new ArrayList<Map<String, String>>();for (int i = 0; i < 20; i++) {datalist.add(new HashMap<String, String>());}
}//初始化listview控件
private ListView listview;
private Context mContext;
private MyAdapter adapter;listview = (ListView) findViewById(R.id.listview);
adapter = new MytAdapter(datalist, mContext);
listview.setAdapter(adapter);
这里插入的数据被放到list里面,通过map键值对来输入具体数据,相对灵活,如果每次输入的数据都是固定的几组,可以创建一个bean来替代map,例如
private void initData() {datalist = new ArrayList<Listbean>();for (int i = 0; i < 15; i++) {Listbean bean = new Listbean();bean.setTitle("测试数据--" + i);bean.setType(i % 3);datalist.add(bean);}}
转载于:https://my.oschina.net/carbenson/blog/729922
落日余晖,listview快速编写相关推荐
- Emmet:HTML/CSS代码快速编写规范(转发)
Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示: ...
- Emmet插件:HTML/CSS代码快速编写神器
Emmet插件的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示 ...
- Sublime Text 3插件之Emmet:HTML/CSS代码快速编写神器
一.快速编写HTML代码 1. 初始化 HTML文档需要包含一些固定的标签,比如<html>.<head>.<body>等,现在你只需要1秒钟就可以输入这些标签. ...
- Emmet:HTML/CSS代码快速编写神器
本文来源:http://www.iteye.com/news/27580,还可参考:http://www.w3cplus.com/tools/emmet-cheat-sheet.html Emmet的 ...
- Emmet:HTML/CSS代码快速编写器
一.快速编写HTML代码 1. 初始化 html:5 或!:用于HTML5文档类型 html:xt:用于XHTML过渡文档类型 html:4s:用于HTML4严格文档类型 如 !+tab: < ...
- 跳转类内方法快捷键_想要快速编写代码,你得熟悉这些快捷键!
PyCharm 常用快捷键 导语 工欲善其事必先利其器,想要快速编写代码,就必须要先熟悉快捷键,Python开发利器Pycharm常用快捷键如下,相信有了这些快捷键,你编写代码会事半功倍. 1编辑 S ...
- Emmet 快速编写html代码
简介 快速编写HTML代码 语法简单,语法类似css选择器,30分钟内你就可以搞定它.开发商为sublime.atom.brackets.hbuilder.webstrom等编辑器或IDE提供对应的插 ...
- 快速编写HTML代码常用的方法
在前端开发的过程中,一个最繁琐的工作就是写 HTML.CSS 代码.数量繁多的标签.属性.尖括号.标签闭合等,让前端们甚是苦恼.于是,我向大家推荐 Emmet,它提供了一套非常简单的语法规则,书写起来 ...
- VS+VAX的提示功能快速编写C51程序
虽然有智能提示的软件有很多,比如Source Insight.Ultra Edit,但我都不太喜欢.周立功的TKStudio也用过,感觉还行,但还是不太满意. 由于学C#,我的电脑上安装了Visual ...
最新文章
- phpcms开启、关闭在线编辑模板的方法
- 新技术 新体验 - 北京.NET俱乐部Visual Studio2008 MVC 交流会
- Xcode6中添加pch文件
- 修改sh文件_修改Android分区大小
- PAT_B_1006 换个格式输出整数
- 2 172.02 php,kafka安装、相关命令以及PHP使用
- java课程设计 博客园_java课程设计
- Tiktok培训可以去学习吗?
- CPCI总线和VPX总线的区别
- 我的Android进阶之旅------gt;Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项...
- 产品经理入门知识梳理
- 正则表达式之邮箱地址格式+非法字符+后缀长度的验证
- Qt-添加软件图标(logo)
- 移动端input提起数字键盘如何设置小数点?
- mysql a foreign key constraint fails_外键记录有存在,插入数据却报错a foreign key constraint fails...
- FTP 服务器搭建(图文教程、实现匿名与用户双登录)
- 关于ORA-1658错误和用户表空间配额
- swi 指令能用在C语言吗,SWI指令---软件中断实例详解
- 新概念2背诵500遍后的感受
- ORACLE 数据文件创建,查询,删除,恢复 相关SQL 整理