【Android】ListView修改item布局与内部数据
2016-07-08 18:01
351 查看
ListView的自定义item样式使用一个adapter来进行适配,直接上代码。
这里list是一个Map型的ArrayList
用来存放数据,这些数据会在listView中的item一一显示,由于一一对应关系,在ListView中的位置position即可对应list中的下标。
注:
修改数据时,直接修改list中内容,然后重新将list显示,而不要去修改item里面控件的内容。
若要修改item中的控件,通过返回布局来进行id的查找,核心代码如下:
这里注意与自身xml中的布局对应,获取了item布局之后再根据R.id进行寻找即可。
list = new ArrayList<>(); for (NoteContent noteContent:noteContents){ HashMap<String, String> map = new HashMap<String, String>(); map.put("date",noteContent.date+" "); if (noteContent.detail.length()>10) map.put("detail",noteContent.detail.substring(0,10)); else map.put("detail",noteContent.detail); map.put("recordurl",noteContent.record_url); map.put("picurl",noteContent.pic_url); map.put("barcodeurl",noteContent.barcode_url); map.put("dbnumber",String.valueOf(noteContent.id)); list.add(map); } SimpleAdapter adapter=new SimpleAdapter(this,list,R.layout.list_items_layout, new String[]{"detail","date","dbnumber"},new int[]{R.id.list_items_detail,R.id.list_items_date,R.id.list_items_dbnumber}); listView.setAdapter(adapter);
这里list是一个Map型的ArrayList
private ArrayList<Map<String, String>> list;
用来存放数据,这些数据会在listView中的item一一显示,由于一一对应关系,在ListView中的位置position即可对应list中的下标。
注:
修改数据时,直接修改list中内容,然后重新将list显示,而不要去修改item里面控件的内容。
若要修改item中的控件,通过返回布局来进行id的查找,核心代码如下:
RelativeLayout layout=(RelativeLayout)listView.getChildAt(position); Button bt_delete=(Button)layout.findViewById(R.id.list_items_bt_delete); if (bt_delete.getVisibility()==View.VISIBLE) bt_delete.setVisibility(View.GONE); else bt_delete.setVisibility(View.VISIBLE);
这里注意与自身xml中的布局对应,获取了item布局之后再根据R.id进行寻找即可。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories