不BB几句总觉得憋得慌,时间很快,清楚的记得今天是多少号了,马上这个月就结束了,确实时间是无价的,不可逆的,自己能做的就是,唯有珍惜时间和咬牙坚持,还是那句老话,累并快乐,痛并坚持。
ListView简述,其实我们日常生活中每天接触ListView,它是应用最广泛的数据显示视图控件,扣扣好友列表,扣扣空间说说…以不同的姿势(xxx_item.xml)都躺在ListView(容器)中。
一、ListView常见属性
1.android:divider=”#f00” 设置分割线颜色
2.android:dividerHeight=”10px” 设置分割线的高度,即粗细
3.android:scrollbars=”none/horizontal/vertical” 设置滚动条出现的形式
4.android:fadeScrollbars=”false” 设置是否自动隐藏,默认是自动隐藏的,若设置false的话就不会隐藏,一直出现在屏幕上
5.android:entries=”@array/names” 设置一固定数组,引用values先自定义的.xml文件
1.activity_main.xml代码
<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"
tools:context="com.oldtogether.adapterdemo.MainActivity" >
<ListView
android:id="@+id/lv_test"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:entries="@array/entryTest"/>
</RelativeLayout>
2.arrays.xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="entryTest" >
<item>小学僧</item>
<item>托儿索</item>
<item>儿童劫</item>
<item>红领烬</item>
<item>鱼尾文</item>
<item>菊花信</item>
</string-array>
</resources>
3.MainActivity.java代码
package com.oldtogether.adapterdemo;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//直接将activity_main.xml加载在此界面即可
setContentView(R.layout.activity_main);
}
}
4.运行结果
二、从上面代码可以看出来,渲染过程很简单,但是这样会将数据写死,只有简单自定义的数组,然而面对庞大的信息,无法满足用户的需求。于是出现了适配器,将ListView和适配器一起搭配开发才够味。那么问题来了,什么是Adapter呢???Adapter是用来帮助填充数据的中间桥梁,是UI界面和数据之间的控制器,是一个中间转换站,是软件开发工程师在开发过程中经验总结和智慧的结晶。
copy注解,具体可以参考Adapter官方文档
1.BaseAdapter:抽象类,实际开发中会继承次类并且重写相关方法,应用最多的Adapter。
2.ArrayAdapter:支持泛型操作,最简单的一个Adapter,只能展现一行文字。
3.SimpleAdapter:同样具有良好扩展性的一个Adapter,可以自定义多种效果。
4.SimpleCursorAdapter:用于显示简单文本类型的listView,一般在数据库那里会用到,不过有点过时, 不推荐使用。
三、使用ArrayAdapter实现文字列表
1.listview.xml代码
<?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="vertical" >
<ListView
android:id="@+id/lv_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
2.MainActivity.java代码
package com.oldtogether.adapterdemo;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity1 extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
//1、获取ListView对象
ListView lv=(ListView) findViewById(R.id.lv_main);
//2、数据源
String [] data={"小学僧","托儿索","儿童劫","红领烬","鱼尾雯","菊花信","喜之郎"};
//3、设置适配器
ArrayAdapter<String> adapter =new ArrayAdapter<String>(
this, //context上下文
android.R.layout.simple_list_item_1, //android系统自带的行布局样式
data);
//4、关联适配器
lv.setAdapter(adapter);
}
}
3.运行结果