关于simpleAdapter的总结

1.它是什么?

        它是一个适配器类,它用来处理模板类型重复的数据,比如QQ的消息列表,每一条消息都有头像,名称,日期和概述。

 而它就是将多人的消息数据处理成我们显示的消息界面。

2.它的工作框架是什么?    

    一个显示窗口,比如fragment(碎片chuangkou),它里面有一个listview布局。就是把碎片窗口中的显示类容按照列表的方式显示,需要一个视图。比如5个字符串:

            

...
string=new View[];
int id[]={R.id.str1,R.id.str2...};//伪代码
for(int i=0;i<5;i++)
{
  string(i)=view.findViewById(id[i]);//
}
listview.add(string[0]);
listview.add(string[1]);
listview.add(string[2]);
listview.add(string[3];
listview.add(string[4]);
...
消息1
消息2
消息3
消息4
消息5

         那么视图view我们可以新建一个layout布局,里面添加一些图片控件和文本控件,listview会将你的任何布局在界面中以列表的方式显示出来。

 窗口中有一个listview,view就是一个显示界面的最小单位。比如显示一个图片,文本。而simpleadapter就是将数据和视图联系起来,解决多个view 重复绑定繁琐工作的模板,你只要告诉第一个视图如何与listview绑定数据,其它有多少视图数据就显示多少。一个人qq消息就是一个视图,多人消息适配器就会自动处理显示。

  2.      数据的绑定

   

... 
//构造函数
public SimpleAdapter(Context context, List<? extends Map<String, ?>> data,
            @LayoutRes int resource, String[] from, @IdRes int[] to) {
        mData = data;
        mResource = mDropDownResource = resource;
        mFrom = from;
        mTo = to;
        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
...
/*
参数1:上下文,就是一个进程的运行的环境句柄。比如mainactivity.this,一般为显示的acticity的context
参数2:一个列表,列表里的每一个元素又是一个hashmap表。
参数3:你想要显示的视图布局,一般就是R.layout.name
参数4:hashmap的键名,就是“key”
参数5:就是你视图中的控件id,这个视图就是参数3视图布局中的控件
*/

//显示界面
Viewlist viewlist=view.findViewById(R.id.viewlist);
viewlist.setAdapter(adapter);

          

总结:学习这一块有2个,一个是listview,一个是simpleAdapter类。两个是联系在一起的。

          最起码你待知道什么是视图,布局,控件吧,知道它们的数据绑定方式吧。

提醒:建议学习最新的控件绑定方式,更加灵活,比如binding,这是更符合编程思维的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值