安卓天天练练(十一)用list绑数据
之前在练练ListView的时候就有个
BaseAdapter ba = new BaseAdapter() {
用Adapter来绑数据的方法,该方法中
LinearLayout ll=new LinearLayout(MainActivity.this);
用append的方式追加了文字,
最后return 这个ll对象,
很像html的createElement那样用java构建布局,
onCreate方法内部最后在ListView实例上lv绑定数据:
lv.setAdapter(ba);
有的时候,光用Adapter还不够,需要组织好传入的数据,比如自己构建list
public List<? extends Map<String,Object>> list=new ArrayList<Map<String,Object>>();; int rowCounter = drawable.length;
for(int i =; i< rowCounter; i++){
HashMap<String,Object> hmap = new HashMap< String,Object>();
hmap.put("col1",drawableIds[i]);
hmap.put("col2",this.getResources().getString(nameId[i] ));
hmap.put("col3",this.getResources().getString(msgIds[i] ));
list.add(hmap);
}
return list;
}
//Adapter
...onCreate()...
{
GridView gv(GridView)this.findViewById(R.id.GridView01);
SimpleAdapter sca = new SimpleAdapter(
this,
generateDataList(),
R.layout.grid row,
new String[]{"col1","col2","col3"},
new int[]{R.id.ImageView01,R.id....}
};
gv.setAdapter(sca);
此处有三列,对应了一个设计了三列的GridView布局。
<pre><LinearLayout ......>
<TextView... />
<GridView
android:id="@+id/GridView01"
android:layout_height="fill_parent"
android:verticalSpacing="5dip"
android:horizozntalSpacing="5dip"
android:stretchMode="columnWidth" />
</LinearLayout></pre>
其他部分和练练(十)差不多,可以尝试将(十)也改成list绑定数据。
安卓天天练练(十一)用list绑数据的更多相关文章
- 安卓天天练练(十五)改造BasicSyncAdapter
谷歌的官方示例BasicSyncAdapter是Android Studio工程, 把它依样画葫芦到Eclipse上,然后改造成我需要的样式. 看官方示例源码的时候,看到EntryListActivi ...
- 安卓天天练练(十)ListView
ListView不能和ScrollView同时使用,因为它已经包含了滚动支持. 还有个Gallery http://blog.csdn.net/dazlly/article/details/78639 ...
- 安卓天天练练(五)CompoundButton
ToggleButton 让我想起了从前jQuery还没有取消toggle方法时是怎么偷懒的.. 注意: 如果LinearLayout,与RelativeLayout不同,必须有orientation ...
- 安卓天天练练(四)drawable state 属性
今天又作茧自缚(item 写成 itme ╮(╯▽╰)╭ elipse还自动闭合了标签,来回查查查看报错,为啥点击无效呢!) 真欠抽,怪不得上班地铁上被个sb踢到脚趾头(目测有可能是同家公司的..同站 ...
- 安卓天天练练(三)常用组件Toast
要写几句java package com.narumi.android_7_2; import android.app.Activity; import android.os.Bundle; impo ...
- 【mongodb系统学习之十一】mongodb删除数据
十一.mongodb删除数据: 1).删除全部文档:remove,语法db.collectionName.remove({}):小括号里边必须要有条件,否则不成功:如果只是一个空的{},则会删除集合内 ...
- 动态绑数据(Repeater控件HeaderTemplate和ItemTemplate)
前几天,Insus.NET有写了<动态绑数据(GridView控件Header和ItemTemplate)>http://www.cnblogs.com/insus/p/3303192.h ...
- FreeSql (二十一)查询返回数据
FreeSql 采用 ExpressionTree 优化读取速读,如果懂技术的你一定知道 .NETCore 技术下除了原生代码,最快就是 Emit 和 ExpressionTree. 项目在初期使用的 ...
- geotrellis使用(二十一)自动导入数据
目录 前言 整体介绍 前台界面 后台控制 总结 一.前言 之前Geotrellis数据导入集群采用的是命令行的方式,即通过命令行提交spark任务来ingest数据,待数据导入完毕再启动 ...
随机推荐
- xshell十大技巧
xshell是我用过的最好用的ssh客户端工具,没有之一.这个软件完全免费,简单易用,可以满足通过ssh管理linux vps所有需要,唯一遗憾的是没有官方中文版. 警告:不要下载所谓的汉化版,可能有 ...
- Visual Studio 调试技巧 (三) -- 调试第三方组件代码
上次我们提到,没有源代码而且没有调试符号,我们也可以 Debug.有人可能会问,我什么时候需要在这种情况下调试吗?! 是的.比方说,我们用了某些第三方的组件,这些组件里面难免也会有 Bug.就算是微软 ...
- 【转】正确使用Block避免Cycle Retain和Crash
原文地址:http://tanqisen.github.io/blog/2013/04/19/gcd-block-cycle-retain/ 使用指南:http://blog.csdn.net/nic ...
- IOS8开发之实现App消息推送
第一部分 Apple Push Notification Service 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. ...
- C#绘制圆形时钟
本文由作者参考部分案例后加以修改完成: 参考链接如下: http://blog.csdn.net/xuemoyao/article/details/8001113 http://wenku.baidu ...
- Android(java)学习笔记168:Java异常分类
Java异常可分为3种: (1)编译时异常:Java.lang.Exception (2)运行期异常:Java.lang.RuntimeException (3)错误:Java.lang.Error
- flexbox 兼容安卓4.3
border:1px solid red; overflow: hidden; font-siz ...
- ubuntu16.04 : 4: [: y: unexpected operator
Ubuntu16.04 执行行脚本出错 在使用sh 执行脚本 出错标志 : 4: [: y: unexpected operator 原因:sh是连接到dash的,又因为dash跟bash的不兼容所以 ...
- Factory Method 工厂方法模式
Factory method工厂方法模式是一种实现了“工厂”概念的面向对象设计模式.就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题.工厂方法模式的实质是“定义一个创建对象 ...
- Summary: How to calculate PI? Based on Monte Carlo method
refer to: http://www.stealthcopter.com/blog/2009/09/python-calculating-pi-using-random-numbers/ Duri ...