先来介绍一下ListView这么个东西,适合用在一排数据的展示中,

例如,这样的一个就是使用了List View这么一个控件实现功能

实现的思路主要是这样

在布局里面加一个ListView像是这样,以下代码是常用的他的一些方法

然后在MainActivity中找到这个控件,然后为他增加一个适配器。

适配器我们最先介绍一个叫做BaseAdapter的适配器,这个比较洋气

比较好用,

实现的效果是上面的那一个图

packagecom.example.xialm.list_test2;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.ListView;importandroid.widget.TextView;public class MainActivity extendsAppCompatActivity {

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ListView ll=(ListView)findViewById(R.id.lv);//设置适配器

ll.setAdapter(newmyad());

}

//开始编写适配器public class myad extendsBaseAdapter{

//下面是Base Adapter的四个构造方法,

@Overridepublic intgetCount() {//实现几个条目的显示

return 100000;

}

@Overridepublic Object getItem(intposition) {return null;

}

@Overridepublic long getItemId(intposition) {return 0;

}

@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {

TextView tv;if(convertView == null){//创建新的缓存对象

tv = new TextView(MainActivity.this);

}else{//复用新的缓存对象

tv =(TextView)convertView;

}int s = position+1;

tv.setText("你好,你是第"+s+"个世界");returntv;

}

}

}

既可实现,

那么我们可以看到这个有点low,向我们手机上那种洋气一点的布局是怎么做的呢,最起码得实现一个这样的布局把

如下:

这个好像还可以接受一波,那么我们现在的数据是我们自己造的,我们在后面会提到

如何从其他的地方拿到我们需要的东西然后再放到我们的LIst View上面来显示,

所以先来搞上面的那个界面,

有第一个案例来说,我们可以发现要做出这样的案例,只需要改动我们Adapter里面的一个

叫做getView 这个方法就可以了,

也就是我们要改动的是这一块

@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {

TextView tv;if(convertView == null){//创建新的缓存对象

tv = new TextView(MainActivity.this);

}else{//复用新的缓存对象

tv =(TextView)convertView;

}int s = position+1;

tv.setText("你好,你是第"+s+"个世界");returntv;

}

整体的框架我们不需要改动,尤其是if  和  else这一段逻辑

解释一下这一段逻辑是用来实现将我们的程序内存最大的优化

是我们的app的运行更加流畅,使资源不会因为还没有释放之前,

就内存溢出了

那么我们改动哪一块呢,

应该是textview那一快

看上去这样只能显示一行的内容,我们现在想要在左边显示一个图片,

在右边显示两个文本框框,这个明显涉及到了布局

我们再回首看我们的代码的时候发现,我们代码中写的我们只能显示view

当然TextView是View的一种啦

那么顺理成章的,现在可以将目光和思路引导到我们实现 将布局文件转换为 view的伟大道路上

Android底层的工程师为我们创建了这么一个api正好是可以进行实现我们的功能

江湖人称,打气筒,

总结一下,一切思路和上面第一个案例一样,

我们只需要改变Adapter中第四个构造方法中的view

想实现那个就必须要将layout文件转换为view,我们引进了一个技术叫做打气筒

下面是代码

xml

安卓打气筒_安卓,ListView,打气筒的初次使用相关推荐

  1. sqllite开发安卓项目_安卓学习笔记(一)

    本人接触安卓也有一年半载了.本人是c++程序员,我对于安卓和java的态度就像,c++是大老婆,java和安卓是小老婆.但是大老婆总是让人不省心,所以安卓还是挺好玩的.那么接下来写写文章,记录一下安卓 ...

  2. 如何root安卓手机_安卓手机如何一键提升手机性能?用黑阈

    安卓手机现状 安卓现在的旗舰机并不比苹果差,但是依然对手机小白很不友好,安卓属于开源,自由度较大,可供发挥的空间更高.需要一定基础才能充分利用安卓的性能.而苹果依然是针对小白的,系统会自行优化,自由度 ...

  3. 如何root安卓手机_安卓手机内的虚拟安卓系统,带root,非系统分身!

    现在安卓手机root越来越难,系统也越来越封闭,搞得手机的可玩性没有前几年那么高.在前几年,手机想要root,也就一个Kingroot的事,或者刷一个新系统.喜欢安卓手机的一个很重要的原因是,系统软件 ...

  4. 安卓虚拟机_安卓系统上的虚拟机

    转载是一种动力 分享是一种美德 每日分享时刻- 提起在电脑里的虚拟机,相信许多小伙伴都有接触过,通过虚拟机我们可以在操作系统中虚拟出另一个操作系统,从而实现各种操作.那么,在手机里的虚拟机你有用过没? ...

  5. 安卓虚拟机_安卓虚拟机(*New*)v1.1.31去广告/去推荐/Mod/精简/VIP版

    软件简介: VMOS(虚拟大师)是一款以Virtual Machine(简称VM,即虚拟机)技术为主的APP(安卓应用)软件.通过VM技术,把开源的安卓系统(支持任意版本),无需root权限,以普通应 ...

  6. vmos切换安卓版本_安卓之中还能运行安卓!神奇的安卓虚拟机App

    PC上的虚拟机大家玩得多了,手机上的虚拟机不知道大家玩过没?PC上装了虚拟机后,等于操作系统中多了另一个系统,可以在虚拟机的系统中安装各类软件,和真机互不干扰.而很多安卓玩家不知道的是,其实在安卓平台 ...

  7. 如何连接安卓手机_安卓手机如何使用AirPods

    苹果公司推出的无线蓝牙耳机AirPods可以说是市面上最好的无线耳机,配合iPhone使用能够给你带来畅快舒适的体验.有很多小米华为oppo,vivo等安卓手机用户也在问了,安卓手机能够支持AirPo ...

  8. 如何root安卓手机_安卓Root+卡开机画面救砖教程丨以一加手机为例

    一加手机买到手已经用了1个多月了,还有很多朋友在问我怎么Root.怎么替换Recovery.怎么安装Magisk.有时候刷Magisk模块变砖怎么解救.小编统一整理一下,其他安卓手机也可以参考,很多思 ...

  9. 安卓分辨率_安卓界面的尺寸规范有哪些?

    众所周知,安卓系统是开源的,国内又有超多的手机厂商,小米.魅族.华为.oppo.三星等,每一个品牌有属于自己的UI设计规范,但是我们主要分析UI界面尺寸规范. 1.字体 安卓系统中文采用的是思源黑体, ...

最新文章

  1. uploadify多文件上传插件
  2. 最懒惰的算法—KNN
  3. Centos安装Vmware-Tools工具
  4. JavaWeb之tomcat安装、配置与使用(一)
  5. 云知声今年要量产三款芯片,还公布了多模态AI芯片规划
  6. 理解$watch ,$apply 和 $digest --- 理解数据绑定过程
  7. 机构关注的数据治理问题
  8. 提高网页打开速度的一些小技巧
  9. 【JavaSE】黑马程序员 刘意 基础部分笔记
  10. 前端 express使用教程
  11. 一款免费在线文字识别(OCR)工具
  12. DNS是什么?工作原理、工作流程总结
  13. xp关闭计算机没有反映,关机很慢—点击“开始—关闭计算机”后过了两三分钟才有反应,但XP其他一切正常,怎么回事?...
  14. VS Code开源软件介绍——史上最优秀的 IDE ?
  15. Redis基本数据结构
  16. 【DL】——Warmup学习率调整策略
  17. halcon measure_pos和measure_pairs详解
  18. oracle 导出身份证号_oracle 根据身份证号计算出生日期
  19. 双网卡一个连接外网一个连接内网的处理方法
  20. 【微服务架构】一文读懂单片到微服务架构的模式和最佳实践

热门文章

  1. VLOOKUP函数具体操作及注意事项
  2. 关于sudo dpkg-divert --local --rename --add /sbin/initctl导致的开机无图标解决方法
  3. 急!2022年底前需实现电子发票无纸化报销、入账、归档、存储!
  4. 百度人工智能变身作曲家 应用前景相当广泛
  5. 张垭飞VIP SEO课程
  6. linux下使用MEME软件,从零开始学生信-meme的安装和使用
  7. 【Jenkins】解决检出git仓库时报错Caused by: java.io.IOException: Cannot run program “git“
  8. AVI格式视频转YUV
  9. java实现Excel文件解析---apache POI以及把汉字转化为拼音
  10. Communication-Efficient Learning of Deep Networks from Decentralized Data 论文笔记