1.新建个安卓项目,点击res下的values目录,在该目录下创建一个名字为arrays.xml的Android xml文件,然后开始在里面写代码,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="arrays"><item>ListView1</item><item>ListView2</item><item>ListView3</item><item>ListView4</item><item>ListView5</item><item>ListView7</item><item>ListView8</item><item>ListView9</item></string-array></resources>

2.然后再点击res下的layout目录,打开里面已有的activity_main.xml文件,再修改下布局文件,将其设置为垂直线性布局,再在里面添加一个ListView视图,代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><ListViewandroid:id="@+id/listView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:entries="@array/arrays"></ListView></LinearLayout>

3,此时我们运行模拟器就可以出现下图的ListView列表了:

4.是不是很简单啊,如果列表超出模拟器范围的话,会在右侧产生个滚动条,一向上拉它就会向下滚动,一到列表的末尾向下拉就会向上滚动!

5.接下来介绍一个比较难点显示的ListView,其中items.xml里面放了一个ImageView图像视图还有个TextView文本视图,再添加到ListView里面去,先在res下的layout目录下创建一个新的Android xml文件,取名为items.xml,然后添加ImageView和TextView,布局设置为水平线性布局,接下来附上代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal" ><ImageViewandroid:id="@+id/image"android:layout_width="wrap_content"android:layout_height="wrap_content"android:adjustViewBounds="true"android:maxWidth="72px"android:minHeight="72px"android:paddingBottom="20px"android:paddingRight="10px"android:paddingTop="20px" /><TextViewandroid:id="@+id/title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:padding="10px" /></LinearLayout>

6.然后在res下的layout目录下activity_main.xml文件下修改代码,布局方式设置为垂直线性布局,里面添加个ListView控件,接下来附上布局文件的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><ListView android:id="@+id/listView1"android:layout_height="wrap_content"android:layout_width="match_parent"/></LinearLayout>

7.接下来打开src下的Mainactivity.java文件,在里面添加代码,用于显示ListView中items项的ImageView图像视图和TextView文本视图,其中image01-image13的图片是我存放在drawable-hdpi目录下的,代码如下,其中有注释:

package com.example.qqlistview4;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView listview=(ListView)findViewById(R.id.listView1);  //获取列表视图int[]imageId=new int[]{R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04,R.drawable.img05,R.drawable.img06,R.drawable.img07,R.drawable.img08,R.drawable.img09,R.drawable.img10,R.drawable.img11,R.drawable.img12,R.drawable.img13};//定义并初始化保存图片id的数组String[] title=new String[]{"乔峰(丐帮帮主)","虚竹(逍遥派传人)","段誉(大理世子)","花无缺(移花接木)","郭靖(降龙十八掌)","杨过(独臂侠)","黄蓉(打狗棒法)","黄老邪(东邪)","小龙女(古墓里的一朵花)","欧阳锋(西毒)","一灯大师(南帝)","洪七公(北丐)","王重阳(中神通)"};List<Map<String,Object>>listItems=new ArrayList<Map<String,Object>>();    //创建一个List集合//通过for循环将图片id和列表项文字放到Map中,并添加到List集合中for(int i=0;i<imageId.length;i++){Map<String,Object>map=new HashMap<String,Object>();   //实例化map对象map.put("image",imageId[i]);map.put("title",title[i]);listItems.add(map);     //将map对象添加到List集合中}SimpleAdapter adapter=new SimpleAdapter(this,listItems,R.layout.items,new String[]{"title","image"},new int[]{R.id.title,R.id.image});//创建SimpleAdapterlistview.setAdapter(adapter);    //将适配器与ListView关联}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

8.接下来运行模拟器,将此项目部署到模拟器上,可得到这样的ListView列表视图效果,如下图所示:

9.就这样,是不是有点像QQ好友列表一样啊,其中可以上下滚动。

10.以上内容,仅供参考学习,这是为我个人学习积累的东西,转载的话,请注明出处,写得不好,敬请见谅,如果里面有什么问题或者错误的,可以评论和发消息,我会及时改正,如有雷同,纯属巧合!哈哈,好了,不晚了,睡觉去了!

安卓学习之路之如何显示一个listview列表视图相关推荐

  1. .Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示

    原文:.Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示 xUtils注入和图片显示 一.xUtils注入 引用官方介绍: ViewUtils模块:•android中的io ...

  2. Android一个ListView列表之中插入两种不同的数据

    http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{Button ...

  3. 【itext学习之路】--1.创建一个简单的pdf文档

    来源:https://blog.csdn.net/tomatocc/article/details/80666011 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文 ...

  4. OpenGL ES 2.0学习之路---2.Hello Triangel:一个OpenGL ES 2.0例子

    该例子主要包括以下内容: 使用EGL创造一个显示渲染窗口平面 装载顶点和片段着色器 创造一个项目,联系顶点和片段着色器,链接项目 设置视窗 清除颜色缓冲区 最基本的渲染 在EGL窗口显示颜色缓冲区的内 ...

  5. 安卓学习之路---计步器算法

    关于网上找的一个算法的自己的一点理解 package cn.edu.hit.run.service;import android.content.Context; import android.har ...

  6. 【安卓学习之路1】轻轻一点,好神奇——给activity_main.xml添加Button控件

    经过了前一段时间,断断续续的学习了一些JAVA基础,好歹也理解到了,继承 .多态.接口.字符串.常用集合.异常.终于还是按耐不住寂寞 ,偷偷地为Eclipse安装了ADT,所学 就学的开始了安卓之旅, ...

  7. Java WEB之Servlet学习之路(一)一个最简单的Servlet应用

    好久没有更新博客了,有点冷清,主要是最近忙着看Java WEb前段时间都是基础,一些http理论和WEB容器理论,没有什么实践性代码,所以没写代码,现在终于正式开始Servlet编程了,下面就得好好的 ...

  8. 前端学习之路—用css画一个圆形,三角形,椭圆

    用css画一个圆形,三角形,椭圆 一.圆形 css代码如下: <!DOCTYPE html> <html lang="en"> <head>&l ...

  9. VTK学习之路——读取并显示raw体数据文件

    数据比较难找,老板给了个网址,里面很多数据可以下载: https://klacansky.com/open-scivis-datasets/sorted-by-size.html 数据文件类型(raw ...

最新文章

  1. 学习python需要什么基础-自学python需要什么基础,要掌握哪些知识?
  2. 多迪技术总监揭秘:普通UI设计师与顶级UI设计师的区别是什么?
  3. QTableWidget控件总结
  4. wxWidgets:wxClipboardTextEvent类用法
  5. 基于JAVA+SpringBoot+Mybatis+MYSQL的电影院管理系统
  6. [WP8] ListBox的Item宽度自动填满
  7. [下载]Internet Explorer 9 预览版
  8. html5 restore,HTML5 canvas save和restore方法讲解
  9. VS2013 Codejock 实现 MFC 换肤
  10. python手工打码_Python学习--打码平台
  11. 三菱触摸屏通讯错误_一台威纶通触摸屏与多台三菱PLC通讯案例
  12. 利用PDM实现机械制造业的信息集成
  13. APP开发的详细流程
  14. 【云原生】Prometheus PromQL讲解与实战操作
  15. 【天光学术】舞蹈论文:生本理念下多媒体技术在舞蹈教学中的运用(节选)
  16. 华工高级语言c 平时作业,华工高级语言程序设计平时作业
  17. 区块链人才有多吃香?这些城市,为了抢人各显神通
  18. 自动驾驶基本理论——Ackerman公式
  19. AutoCAD LISP绘制标准图框
  20. 神经网络实现鸢尾花分类

热门文章

  1. MySQL 报错 1093
  2. [软件测试_LAB1]安装junit和hamcrest及其使用
  3. C++ 引用和指针有什么区别?
  4. [Node.js] mySQL数据库 -- promise
  5. 入门机器学习(二)--多变量线性回归
  6. 菜鸟学了SpringBoot后,撸了个博客项目(大神跳过哈)
  7. pytorch实现dcgan_PyTorch版本DCGAN实现的注解
  8. ETL之Kettle
  9. 织梦自定义表单地区联动类型不可用的解决办法
  10. 《剑指offer》--- 数组中只出现一次的数字