博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android开发--(SimpleAdapter)运用
阅读量:5166 次
发布时间:2019-06-13

本文共 2285 字,大约阅读时间需要 7 分钟。

SimpleAdapter的参数说明

    第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要

    第二个参数表示生成一个Map(String ,Object)列表选项
      第三个参数表示界面布局的id  表示该文件作为列表项的组件
      第四个参数表示该Map对象的哪些key对应value来生成列表项
    第五个参数表示来填充的组件 Map对象key对应的资源一依次填充组件 顺序有对应关系

布局和上一篇一样,还是用ListView控件,显示方式不一样,上一篇使用BaseAdapter(),这篇使用SimpleAdapter();

  效果如下

    

  代码:   

public class MainActivity extends Activity {      private ListView lv;    private SimpleAdapter mp;    //集合    private List
messagetlist=new ArrayList
(); private List
> messagetlist2=new ArrayList
>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.wei); //循环读取数据,模仿数据库 for (int i = 0; i <50; i++) { //定义一个界面与数据的混合体,一个item代表一行记录 Map
item=new HashMap
(); //一行记录,包含多个控件 item.put("img",R.drawable.lad); item.put("name","少年"); item.put("mess","过的怎么样啊"); item.put("date","11-28"); messagetlist2.add(item); } //查找listView1对象 lv=(ListView)findViewById(R.id.listView1); mp=new SimpleAdapter(this, messagetlist2,//data 不仅仅是数据,而是一个与界面耦合的数据混合体 R.layout.img, new String[]{"img","name","mess","date"}, new int[]{R.id.imageView1,R.id.name,R.id.mess,R.id.date}); lv.setAdapter(mp); } });

  刷新Listview,这里是把少年改为青年

lv.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(AdapterView
parment, View view, int position, long id) { Map
item=messagetlist2.get(position); item.put("name","青年"); mp.notifyDataSetInvalidated(); }

  长按Item,出现菜单栏,效果:

     

  代码:

lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {              public void onCreateContextMenu(ContextMenu conMenu, View view , ContextMenuInfo info) {                  conMenu.setHeaderTitle("操作");                  conMenu.add(0, 0, 0, "标为未读");                  conMenu.add(0, 1, 1, "置顶工作号");                  conMenu.add(0, 2, 2, "取消关注");                  conMenu.add(0,3,3,"删除该聊天");            }          });

    可以去比较下BaseAdapter()和SimpleAdapter()的用法,看下你更适用于哪一种写法。

    

posted on
2016-11-28 15:31 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/yuluo123/p/6109728.html

你可能感兴趣的文章
JavaScript基础——定义变量
查看>>
MySql避免重复插入记录
查看>>
Linux--SquashFS
查看>>
Application Pool Identities
查看>>
2017-3-24 开通博客园
查看>>
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
3.6 字符串
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
nginx负载均衡 ->Tomcat8集群 -> sentinel集群 -> redis3主从
查看>>
java中static使用之静态方法注意点
查看>>
方格取数
查看>>
Struts 2 常用技术
查看>>
Mariadb/Mysql 主从复制(1)
查看>>
linux 修改ssh端口号
查看>>
Android-Layer list
查看>>
Java语言中的访问权限修饰符
查看>>
iOS9新特性之常见关键字
查看>>
codeforce好地方啊 Bear and Elections *
查看>>
破解wifi_失败
查看>>
20145332 《网络攻防》 逆向与Bof实验
查看>>