ListView

原创 2016年06月01日 17:38:43

ListView一般的两种基本功能

  1.将数据填充到布局。

  2.处理用户的选择点击等操作。

第一点很好理解,ListView就是实现这个功能的。第二点也不难做到,在后面的学习中读者会发现,这非常简单。

一个ListView的创建需要3个元素。

1ListView中的每一列的View

2)填入View的数据或者图片等。

3)连接数据与ListView的适配器。

也就是说,要使用ListView,首先要了解什么是适配器。适配器是一个连接数据和AdapterViewListView就是一个典型的AdapterView,后面还会学习其他的)的桥梁,通过它能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便

Android中提供了很多的Adapter,表4-5列出了常用的几个。

4-5 常用适配器

Adapter


ArrayAdapter<T>


SimpleAdapter


SimpleCursorAdapter


BaseAdapter


 

 其实适配器还有很多,要注意的是,各种Adapter只不过是转换的方式和能力不一样而已。下面就通过使用不同的Adapter来为ListView绑定数据(SimpleCursorAdapter暂且不讲,后面讲SQLite时会介绍)。

4.12.1 ListView使用ArrayAdapter

ArrayAdapter可以实现简单的ListView的数据绑定。默认情况下,ArrayAdapter绑定每个对象的toString值到layout中预先定义的TextView控件上。ArrayAdapter的使用非常简单。

实例:

工程目录:EX_04_12

在布局文件中加入一个ListView控件。

<?xml version="1.0" encoding="utf-8"?>
<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="horizontal"
    tools:context="com.example.scxh.para.ParaMainActivity">
    <
ListView
android:id="@+id/t1" android:layout_width="150dp" android:layout_height="150dp" android:src="@drawable/a11"/>
</LinearLayout>
复制代码

然后在Activity中初始化。

复制代码

package com.ittx.android1601.adapter;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ArrayAdapter;import android.widget.ListView;import com.ittx.android1601.R;public class MyArrayAdpaterActivity extends AppCompatActivity
 {    public ListView mListView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_my_array_adpater_layout);        // TODO: 2016/6/1 实例化控件ListView        
 mListView = (ListView) findViewById(R.id.adapter_array_listview);        // TODO: 2016/6/1 构造数据源  arrays         String[] arrays = new String[]{"android","ios","java","j2ee","wphone","net","javascript","spring","structs","html","css","hibernate"};        //
 TODO: 2016/6/1 实例适配器  adapter         ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item_adapter_array_view,arrays);//        ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,arrays);        // TODO: 2016/6/1 设置adapter 
       mListView.setAdapter(adapter);    }}

横向listview------ HorizontalListView

tag:HorizontalListView 横向listview  仿 优酷 播放列表 由于优酷的客户端很酷,最近在做视频列表的时候客户要求做出类似效果,开始打算用Gallery的,不过后来发...
  • copy_yuan
  • copy_yuan
  • 2016年04月28日 15:29
  • 2262

解决listview 嵌套listview

这几个文件是我从某位大神的简书上得来的,但是一时找不到这位仁兄,如果看到,请联系我,我将注明转载地址。 前段时间公司要开发一个软件产品,项目经理和我们的设计狮发过来一份UI,看到这份UI当时我的想...
  • a260724032
  • a260724032
  • 2017年02月03日 16:01
  • 1943

Android之——ListView优化

作为客户端,其最主要的任务就是最直观的和用户交互。从服务器拿数据,解析过后显示数据,根据用户操作按照一定的协议传回数据,达到用户想要的结果。这是我自己的理解,所以我们的程序,必须给用户一个良好的体验。...
  • l1028386804
  • l1028386804
  • 2015年08月02日 18:10
  • 2467

解析Android ListView工作原理及其缓存机制

这一篇对郭大神的《Android ListView工作原理完全解析,带你从源码的角度彻底理解》博客学习总结。...
  • Libmill
  • Libmill
  • 2015年11月04日 22:10
  • 4689

Android基础之ListView的使用详解

今天给大家带来《android应用开发全程实录》中关于listview和adatper中的部分。包括listview的基本使用,listview的优化等。 我们经常会在应用程序中使用列表的形式来展现...
  • u012960536
  • u012960536
  • 2015年07月02日 22:39
  • 14565

Django笔记 自定义ListView通用视图

资料https://ccbv.co.uk/projects/Django/1.4/django.views.generic.list/ListView/ http://stackoverflow....
  • SVALBARDKSY
  • SVALBARDKSY
  • 2016年02月19日 15:15
  • 1061

Android性能优化之提高ListView性能的技巧

ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。...
  • nugongahou110
  • nugongahou110
  • 2015年07月29日 15:13
  • 13943

Listview动态添加/删除数据

这里是针对list的数据添加/删除方式,其他的数据方式相同。 布局很简单: ...
  • yueqinglkong
  • yueqinglkong
  • 2013年12月04日 23:18
  • 25753

android listview去掉分割线

1》 设置android:divider="@null" 2》 android:divider="#00000000" #00000000后面两个零表示透明 3》 ...
  • cn2007
  • cn2007
  • 2014年04月02日 17:17
  • 87105

ListView高效刷新——刷新单条数据

在使用ListView时,需要刷新数据的时候,我们通常的做法是调用mAdapter.notifyDataSetChanged()刷新界面,毫无疑问这很简单,现在咱们测试一下其效率,并对其进行优化。...
  • guchuanhang
  • guchuanhang
  • 2015年12月26日 16:41
  • 4018
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ListView
举报原因:
原因补充:

(最多只允许输入30个字)