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适配器对象从数据源中进行适配

UCloud:全球大促降价,云服务器全网最低价,1核1G快杰云服务器47元/年

ucloud:全球大促活动降价了!这次云服务器全网最低价,也算是让利用户了,UCloud商家调低了之前的促销活动价格,并且新增了1核1G内存配置快杰型云服务器,价格是47元/年(也可选2元首月),这是全网同配置最便宜的云服务器了!UCloud全球大促活动促销机型有快杰型云服务器和通用型云服务器,促销机房国内海外都有,覆盖全球20个城市,具体有北京、上海、广州、香港、 台北、日本东京、越南胡志明市、...

麻花云-香港CN2云服务器,安徽BGP线路,安徽移动大带宽!全系6折!

一、麻花云官网点击直达麻花云官方网站二、活动方案优惠码:专属优惠码:F1B07B 享受85折优惠。点击访问活动链接最新活动 :五一狂欢 惠战到底 香港云主机 1.9折起香港特价体验云主机CN2 云服务器最新上线KVM架构,,默认40G SSD,+10G自带一个IPv4,免费10Gbps防御,CPU内存带宽价格购买1核1G1M19元首月链接2核2G 2M92元/3个月链接2核4G3M112元/3个月...

俄罗斯vps主机推荐,怎么样俄罗斯vps俄罗斯vps速度怎么样?

俄罗斯vps速度怎么样?俄罗斯vps云主机节点是欧洲十大节点之一,地处俄罗斯首都莫斯科,网络带宽辐射周边欧洲大陆,10G专线连通德国法兰克福、法国巴黎、意大利米兰等,向外连接全球。俄罗斯vps云主机速度快吗、延迟多少?由于俄罗斯数据中心出口带宽充足,俄罗斯vps云主机到全球各地的延迟、速度相对来说都不错。今天,云服务器网(yuntue.com)小编介绍一下俄罗斯vps速度及俄罗斯vps主机推荐!俄...

adapterview为你推荐
GoldenDBGolden Hind中文什么意思 好像是一个人名或地点之类的词mac地址克隆无线路由器mac地址克隆有什么用处?chrome系统Chrome OS是什么系统?vga接口定义主板VGA接口两排针脚的循序是怎么排列搜索引擎的概念7 什么是搜索引擎?如何在Internet上搜索图片和文字资料的?云盘网谁知道免费的网盘?微软操作系统下载怎么下载官方win10 64位镜像系统挂qq网站那有挂QQ的网站啊私服发布站程序如何在电脑上建一个私服网站?有网站源码!视频比特率是什么视频和音频中的比特率是什么?(详细点)
域名转让 vps是什么 国外vps租用 老左 idc评测 阿里云os 国外主机 siteground java主机 香港主机 mediafire下载 42u标准机柜尺寸 天猫双十一秒杀 火车票抢票攻略 警告本网站 eq2 丹弗 卡巴斯基永久免费版 毫秒英文 howfile 更多