ListView控件它能以列表的形式展现数据,并能够根据列表的高度自适应屏幕。可以通过滑动显示出更多数据,数组中的数据实是无法直接传递给 ListView 的,我们还需要借助适配器来完成。 ,数据与视图布局之间需要一个适配器(Adapter)作为桥梁。

1,简单使用ListView控件

在activity_main.xml文件中可根据需求将布局改为LinearLayout,之后加入ListView控件,指定id,设置为match_parent自适配大小铺满屏幕

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"><ListViewandroid:id="@+id/list_view"android:layout_width="match_parent"android:layout_height="match_parent"></ListView>
</LinearLayout>

2,在主函数中调用ListView

public class MainActivity extends AppCompatActivity {//准备数据源private String[] data = { "Apple", "Banana", "Orange", "Watermelon", "Pear", "Grape","Pineapple", "Strawberry", "Cherry", "Mango", "Apple", "Banana", "Orange", "Watermelon","Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango",};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//将数据源添加到适配器ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,data);ListView listView = (ListView) findViewById(R.id.list_view);//将适配器中数据添加到ListView中listView.setAdapter(adapter);}
}

常用的数据适配器:为Listview添加数据时会用到,Adapter是数据与视图之的桥梁,类似于一个转换器,将数据转化为可接受的方式呈现。

BaseAdapter :   即基本的适配器。它实际上就是一个抽象类,该类拥有四个抽象方法。在Android开发中,就是根据这几个抽象方法来对ListView进行数据适配的,

方法名称 功能描述
public int getCount 获取ltem条目的总数
public Objectgetltemld(int position) 根据position(位置)获取某个ltem对象
public long getltemld(int position) 根据position(位置)获取某个ltem的id
public View getView(int position, View convertView, ViewGroup parent) 获取position对应的ltem视图,position是当前ltem的位置,conventView用于复用旧视图,parent用于加载XML布局文件

SimpleAdapter:    SimpleAdapter继承自BaseAdapter,实现了BaseAdapter的四个抽象方法,分别是getCount()、getItem()、getItemId()、getView()方法。

ArrayAdapter:     ArrayAdapter也继承自BaseAdapter,用法与SimpleAdapter类似。ArrayAdapter通常用于适配TextView控件,例如Android系统中的设置菜单(Setting)。ArrayAdapter的五个构造方法context , resource,textViewResourceld , T[]objects, List<T>objects,

ListView常用属性:

属性名称 功能描述
android:listSelector 当条目被点击后,改变条目颜色

android:divider

设置分割线的颜色
android:dividerHeight 设置分割线的高度
android:scrollbars 是否显示滚动条
android:fadingEdge 去掉上边和下边的黑色阴影

Android__ListView控件的使用相关推荐

  1. Qt---布局,设置控件边距,拉伸因子

    QGridLayout *LeftLayout =new QGridLayout(this); LeftLayout->addWidget(label1, 0, 0); //label1在第1行 ...

  2. HarmonyOS 字体在自身控件中居中(使用text_alignment)

    要实现的效果就是把字体在控件居中 HarmonyOS  使用的是text_alignment 属性,详细的如下 text_alignment 文本对齐方式 left 表示文本靠左对齐. 可以设置取值项 ...

  3. Android 如何防止用户同时点击多个控件问题

    qa 测试说 一次连点不同的控件,app 多个控件分别有响应  这个问题处理方法也是很简单 就是在布局里面添加 android:splitMotionEvents="false"a ...

  4. Android中设置控件可见与不可见详解

    通常控件的可见与不可见分为三种情况. 第一种 gone 表示不可见并且不占用空间 第二种 visible 表示可见 第三种 invisible 表示不可见但是占用空间 可见与不可见的表现形式有两种. ...

  5. 文本类控件(EditView 的介绍)

    EditView的作用:用于在屏幕上显示文本输入框 Android的编辑框组件组件可以输入单行文本,多行文本,指定格式文本(密码,邮箱地址等) 2中使用方法 1 java代码中通过new关键字创建 2 ...

  6. 文本类控件 (TextView的介绍)

    TextView的作用:用于在屏幕上显示文本 Android中的文本框组件可以显示单行文本,多行文本,也可以显示带图像的文本 使用的2中方法 1 java代码中通过new关键字创建 2 XML布局中使 ...

  7. [UWP]实现一个轻量级的应用内消息通知控件

    [UWP]实现一个轻量级的应用内消息通知控件 原文:[UWP]实现一个轻量级的应用内消息通知控件 在UWP应用开发中,我们常常有向用户发送一些提示性消息的需求.这种时候我们一般会选择MessageDi ...

  8. MFC控件编程之复选框单选框分组框

    MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...

  9. 小程序中点击input控件键盘弹出时placeholder文字上移

    最近做的一个小程序项目中,出现了点击input控件键盘弹出时placeholder文字上移,刚开始以为是软键盘弹出布局上移问题是传说中典型的fixed 软键盘顶起问题,因此采纳了网上搜到的" ...

  10. Windows Phone开发(16):样式和控件模板

    在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...

最新文章

  1. SparkStreaming
  2. can通讯bdc_宝马总线K-CAN3和K-CAN4常见案例
  3. c# 带返回值的action_C#委托的介绍(delegate、Action、Func、predicate)
  4. jq如何在打开新的页面 关闭之前同链接的页面_教你如何“抢”其他域名的权重...
  5. GTD时间管理系统入门
  6. 使用quirksmode来简化开发
  7. python def函数调用内容_基本的python,def函数和文本菜单的调用
  8. Laravel使用腾讯云COS服务
  9. 计算机组成原理定点源码一位乘,计算机组成原理课程设计-定点原码一位乘法器的设计.doc...
  10. 关于:将日文键盘设置为英文键盘
  11. 路由器下一跳地址怎么判断_Tracert命令详解,路由跟踪命令tracert命令怎么用?...
  12. If you insist running as root, then set the environment variable RUN_AS_USER=root before running thi
  13. RCNN 的 Hard Negative Mining的原理
  14. ps怎样裁剪html网页,Photoshop另类实用技巧:切网页
  15. [项目过程中所遇到的各种问题记录]工具篇——.NET开发时常用的工具类库
  16. Matplotlib绘制箱线图
  17. OpenCV C++案例实战五《答题卡识别》
  18. 台式计算机硬盘接口,台式机硬盘接口之sata接口
  19. 正则表达式与grep
  20. 我在IT职场超15年:从程序员做到副总,送你21个超实用的职场法则!

热门文章

  1. 数据仓库——元数据、主数据
  2. python房屋租赁管理系统设计与实现报告_毕业设计报告-租房管理系统的设计与实现...
  3. python爬取付费音乐包_用Python代码来下载任意指定网易云歌曲(超详细版)
  4. css.ppt,CSS ppt.ppt
  5. C++学习笔记——opencv2模块(图像处理)
  6. 2019.8.29C++工作错误记录——Socket编程中出现ws2def.h文件“应输入标识符”或“重定义”问题(VS2015)
  7. XP下 无法定位程序输入点WSAPoll于动态链接库ws2_32.dll 的解决办法
  8. 基于分数阶傅里叶变换的chirp信号检测与参数估计(原理附代码)
  9. android反编译工具推荐,Android 反编译工具的各种用法
  10. 高通平台SPI驱动框架分析