adapterviewadapterview和adapter接口是不是 android ui的常用控件

adapterview  时间:2021-06-11  阅读:()

自定义view怎么应用adapter

想做一个显示带下载进度条的子View显示于ListView中,SimpleAdapter可以显示一般的图片,但是无法显示进度条(因为不只是要显示,还要有实时更新),所以我们的做法是继承SimpleAdapter,具体要复写的方法有4个: public int getCount() public Object getItem(int position) public long getItemId(int position) public View getView(int position, View convertView, ViewGroup parent) 还有一个更重要的是其构造方法MyAdapter(Context context, List> list),参数不是固定的,可以根据要用到的数据自己定义,第一个参数是要显示的上下文环境,第二个参数是用来记录各个条目的信息 第一个方法主要是返回ListView中要显示的子View数量,也就是下载任务数,只要返回构造方法中的list的条目就可以了 第二个方法是要返回一个子View,即ListView中的一个子条目,当然你也可以自定义返回你想要的信息 第三个方法是根据ListView中的位置返回id、 最重要最难理解的也就是第四个方法了,第四个方法主要是返回这个条目的整个信息,它是一个单独的布局文件,当然根据android结构也是一个View类的继承类了,这里还有一个知识点是LayoutInflater类,它的inflate()方法可以根据布局文件获得其View返回值,而最重要的思想是你要从这些条目中获得其子View(关系为ListView中有很多条目,每个条目中又有很多组件,我这里是ListView中多个下载任务是不同的条目,每个下载任务中的名字,进度又是其子View的组件),再得到其子组件之后,就可以根据构造方法中List> list参数传递的值进行对应的赋值或者设置资源了,具体代码如下: 1 import java.util.List; 2 import java.util.Map; 3 4 import android.content.Context; 5 import android.view.LayoutInflater; 6 import android.view.View; 7 import android.view.ViewGroup; 8 import android.widget.BaseAdapter; 9 import android.widget.LinearLayout; 10 import android.widget.ProgressBar; 11 import android.widget.TextView; 12 13 public class MyAdapter extends BaseAdapter 14 { 15 private Context context; 16 17 private LayoutInflater layoutInflater; 18 19 private List> list; 20 21 //构造方法,参数list传递的就是这一组数据的信息 22 public MyAdapter(Context context, List> list) 23 { 24 this.context = context; 25 26 layoutInflater = LayoutInflater.from(context); 27 28 this.list = list; 29 } 30 31 //得到总的数量 32 public int getCount() 33 { 34 // TODO Auto-generated method stub 35 return this.list!=null? this.list.size(): 0 ; 36 } 37 38 //根据ListView位置返回View 39 public Object getItem(int position) 40 { 41 // TODO Auto-generated method stub 42 return this.list.get(position); 43 } 44 45 //根据ListView位置得到List中的ID 46 public long getItemId(int position) 47 { 48 // TODO Auto-generated method stub 49 return position; 50 } 51 52 //根据位置得到View对象 53 public View getView(int position, View convertView, ViewGroup parent) 54 { 55 if(convertView == null) 56 { 57 convertView = layoutInflater.inflate(R.layout.item, null); 58 } 59 60 //得到条目中的子组件 61 1 = (TextView)convertView.findViewById(R.id.nameTextView); 62 ProgressBar pb = (ProgressBar)convertView.findViewById(R.id.sizeProgressBar); 63 2 = (TextView)convertView.findViewById(R.id.sizeTextView); 64 65 //从list对象中为子组件赋值 66 1.setText(list.get(position).get("name").toString()); 67 pb.setProgress(Integer.parseInt(list.get(position).get("size").toString())); 68 2.setText(list.get(position).get("size").toString()); 69 70 return convertView; 71 } 72 }

GridLayout和GridView的区别

GridView是一种适配器布局,它的继承关系是:ViewGroup > AdapterView > AbsListView > GridView。

GridLayout的继承关系是:ViewGroup > GridLayout。

GridLayout是一个布局,它大大简化了对复杂布局的处理,提高了性能。

他直接继承自ViewGroup,和LinearLayout这种是类似的。

求采纳

adapterview和adapter接口是不是 android ui的常用控件

在J2EE中提供过一种非常好的框架--MVC框架,实现原理:数据模型M(Model)存放数据,利用控制器C(Controller)将数据显示在视图V(View)上。

在Android中有这样一种高级控件,他的实现过程就类似于MVC框架。

之所以称它高级,是因为他的使用不像其他控件一样,拖拽到界面上就能用,而是需要通过适配器将某些样式的数据或控件添加到其上而使用,这样的控件就是我们今天要说的AdapterView。

一:AdapterView-->V(视图) 1:作用 以列表的形式显示数据。

2:内容 AdapterView的内容一般是包含多项相同格式资源的列表。

3:特点 (1)将前端显示和后端数据分离 (2)内容不能通过ListView.add的形式添加列表项,需指定一个Adapter对象,通过它获得显示数据 (3)ListView相当于MVC框架中的V(视图) (4)Adapter相当于MVC框架中的C(控制器) (5)数据源相当于MVC框架中的M(模型) (6)超出屏幕显示之后,自动加上滚动条 4:分类 (1)ListView:列表,其中只能含有一个控件TextView, (2)Spinner:下拉列表,给用户提供选择 (3)Gallery:缩略图,已经被水平的ScrollView和ViewPicker取代,但也还算常用,是一个可以把子项以中心锁定,水平滚动的列表 (4)GridView:网格图,以表格形式显示资源,可以左右滑动的 5:事件 (1)用户单击列表项事件 ◆为列表加载setOnItemClieckListener监听,重写onItemClick(发生单击事件的列表对象ListView,被单击控件对象view,在列表中的位置position,被单击列表项的行ID)方法。

(2)用户长按事件 ◆为列表加载setOnItemLongClieckListener监听,重写onItemLongClick(发生单击事件的列表对象ListView,被单击控件对象view,在列表中的位置position,被单击列表项的行ID)方法。

6:数据填充 借助下面的Adapter适配器对象从数据源中进行适配

趣米云月付460元,香港CN2云服务器VPS月付低至18元

趣米云早期为做技术起家,为3家IDC提供技术服务2年多,目前商家在售的服务有香港vps、香港独立服务器、香港站群服务器等,线路方面都是目前最优质的CN2,直连大陆,延时非常低,适合做站,目前商家正在做七月优惠活动,VPS低至18元,价格算是比较便宜的了。趣米云vps优惠套餐:KVM虚拟架构,香港沙田机房,线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封...

JustHost,最新高性价比超便宜俄罗斯CN2 VPS云服务器终身8折优惠,最低仅8元/月起,200Mbps带宽不限流量,五大机房自助自由切换,免费更换IP,俄罗斯cn2vps怎么样,justhost云服务器速度及综合性能详细测评报告

主机参考最新消息:JustHost怎么样?JustHost服务器好不好?JustHost好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯5个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!just...

LOCVPS新上韩国KVM,全场8折,2G内存套餐月付44元起_网络传真服务器

LOCVPS(全球云)发布了新上韩国机房KVM架构主机信息,提供流量和带宽方式,适用全场8折优惠码,优惠码最低2G内存套餐月付仅44元起。这是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。下面分别列出几款韩国机房KVM主机配置信息。韩国KVM流量型套餐:KR-Pl...

adapterview为你推荐
短信通道短信平台是什么?哪家比较好?avb医学avb是什么意思waze去国外旅行,哪个APP比较实用非凡论坛非凡电子书论坛 注册好了怎么又没有啦cpu监控win10自带cpu温度监控at89s52单片机AT89S52单片机和AT89C51单片机的区别y码女款衣服XXL、XL、XXXL尺码分别是多大?腾讯年终奖腾讯qq一年盈利多少?自定义表情QQ自定义表情谷歌图片识别如何打开PICASA头像识别功能?
如何注册域名 hostmaster technetcal siteground rackspace 163网 css样式大全 标准机柜尺寸 免费ftp站点 英文站群 坐公交投2700元 linux空间 什么是刀片服务器 美国在线代理服务器 搜索引擎提交入口 如何安装服务器系统 最漂亮的qq空间 空间登入 帽子云排名 cdn网站加速 更多