见归档项目ListViewDemo.zip.

基本步骤如下:

1、创建主布局文件,里面包含一个ListView元素。

<RelativeLayout 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: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/listview"android:layout_height="wrap_content"android:layout_width="match_parent"android:divider="#00ff00"android:dividerHeight="2dp"android:headerDividersEnabled="false"/></RelativeLayout>

2、 创建一个TextView,用于指定每一个选项的格式

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/list"android:layout_width="match_parent"android:layout_height="20dp" android:background="#0000ff"></TextView>

3、创建主类:

package com.ljh.listviewdemo;import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.app.Activity;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// (1)创建要显示的文本内容String[] arr = { "java", "c/c++", "python", "ruby" };//(2)与使用ListActivity的最大区别:使用findViewById得到一个ListViewListView lv = (ListView) findViewById(R.id.listview);// (3)创建ArrayAdapter,其中第二个参数resource:The resource ID for a layout file// containing a TextView to use when instantiating views.是要以一个layout作为// 参数,且此layout需要包含textview。        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list, arr);// (4)为ListActivity设置adapter.lv.setAdapter(adapter);lv.setOnItemClickListener(new OnItemClickListener(){//定义当某个选项被点击时的操作。@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {Toast.makeText(MainActivity.this, position+" item is clicked.", Toast.LENGTH_LONG).show();}});}}

使用ListActivity或ListView创建列表的区别:

1、用途区别:二者都只能支持TextView类型,更强大的支持能力请见SimpleAdapter。

ListActivity只能支持创建单个列表,而ListView可在同一页面创建多个列表,只要在布局文件中定义多个ListView元素即可。

2、创建时的区别:

ListActivity方法是继承了ListActivity,从而可以直接调用setListAdapter()及onListItemClick().

ListView方法必须通过findViewById()得到一个ListView,然后再通过其调用setListAdapter(),以及设置OfnListItemClick接口。

AdapterView及其子类之三:基于ListView及ArrayAdapter实现列表相关推荐

  1. AdapterView及其子类之四:基于ListView及SimpleAdapter实现列表

    代码请见SimpleAdapterDemo.zip. 步骤如下: 1.创建主布局文件 <RelativeLayout xmlns:android="http://schemas.and ...

  2. UI组件之AdapterView及其子类(四)Gallery画廊控件使用

    听说 Gallery现在已经不使用了,API使用ViewPaper代替了,以后再学专研ViewPaper吧现在说说Gallery画廊,就是不停显示图片的意思 Gallery是用来水平滚动的显示一系列项 ...

  3. UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView

    AdapterView的内容一般是包含多项相同格式资源的列表,常用的有5种AdapterView的子类: (1)ListView:简单的列表 (2)Spinner:下拉列表,给用户提供选择 (3)Ga ...

  4. AdapterView及子类

    AdapterView是一组重要的组件,AdapterView本身是一个抽象基类,它派生的子类在用法上十分相似,只是显示界面有一定的区别,因此我这边将它们归为一类哦,针对它们的共性集中讲解,并突出介绍 ...

  5. UI组件之AdapterView及其子类关系,Adapter接口及其实现类关系

    AdapterView本身是一个抽象基类,它派生的的子类在用法上十分相似.AdapterView直接派生的三个子类:AbsListView,AbsSpinner,AdapterViewAnimator ...

  6. android adapter 组件,Android UI - AdapterView 及其子类

    AdapterView AdapterView 是一个抽象类,其派生的子类在用法上十分相似: AdapterView 继承了 ViewGroup: AdapterView 及其子类的继承关系如下: A ...

  7. Android开发自学笔记(Android Studio)—4.4 AdapterView及其子类

    一.引言 AdapterView本身是一个抽象类,而它派生的子类在用法上也基本相似,只是在显示上有一定区别,因此把他们也归为一类. AdapterView具有如下特征: AdapterView继承自V ...

  8. 2.5 UI组件-AdapterView及子类(疯狂android学习笔记)

    列表视图(ListView)和ListActivity ①直接使用ListView创建 ②让Activity继承ListActivity(相当于该activity显示的组件为ListView) 提示: ...

  9. android-UI组件(四):AdapterView及其子类

    http://blog.csdn.net/litianpenghaha/article/details/23270881 AdapterView组件是一组重要的组件,AdapterView本身是一个抽 ...

最新文章

  1. 【2021年度训练联盟热身训练赛第二场】g2g c u l8r(python)
  2. php web目录结构,目录结构
  3. 【C 语言】字符串拷贝 ( 优化指针操作 )
  4. github遇到问题Updates were rejected because the remote contains work that you do hint: not have locally.
  5. 计算机弹出错误字,电脑蓝屏,并且屏幕上出现这样的文字该怎么解决?
  6. 机器学习入门02-朴素贝叶斯原理和java实现
  7. Jerry答网友提问:SAP CRM WebClient UI里的EXT,STRUCT等含义
  8. LInux:shell 彩色进度条实现(有图有代码有真相!!!)
  9. mongodb聚合查询-aggregate
  10. Kali2.0中peda与pwntools的安装
  11. pythonfilelist_Python 列表list使用介绍
  12. Asp.Net随机中文汉字验证码
  13. 华为路由器Nasp设置 以及直连路由,静态路由,缺省路由,
  14. 细菌的天敌抗生素,如何利用这把救命的双刃剑?
  15. Ubuntu上,使用shell脚本实现鼠标自动点击,打开并设置桌面软件
  16. 快递柜管理系统微信小程序-计算机毕业设计
  17. 微信小程序标题自定义、左上角返回首页小房子
  18. JS—— 常用图片后缀正则校验
  19. php怎么转mp4,php使用memcoder将视频转成mp4格式的方法
  20. 如何将WPS中新建表格下的空白行去掉?

热门文章

  1. Python如何安装包_Python系列学习笔记
  2. (~解题报告~)L1-020 帅到没朋友 (20分)——25行代码AC
  3. 【最详细】数据结构(C语言版 第2版)第四章课后习题答案 严蔚敏 等 编著
  4. Python3之configparser模块
  5. 数据库原理与应用(SQL Server)笔记 第五章 索引和视图
  6. 智伴机器人广西团队_实力加冕 | 柳工喜获全国机器人焊接竞赛三连冠
  7. 现实生活中常用的动态路由OSPF(单区)
  8. c语言两个变量相乘出现乱码,C语言,矩阵的乘法运算程序,输出一堆乱码,求大神看看哪里错了。。...
  9. asp.net mysql打包_Asp.net与SQL一起打包部署安装
  10. 对linux做一个简单介绍,对“Fork”做一个技术方面的简介