展会信息港展会大全

android开发中适配器Adapter 创建listView
来源:互联网   发布日期:2015-11-26 11:23:09   浏览:2432次  

导读:android开发中适配器Adapter有:ArrayAdapterBaseAdapaterCursorAdapterHeaderViewListAdapter,ResourceCursorAdapterSimpleAdapterSimpleCursorAdapterWrapperListAdapter最常用的有ArrayAdapter,BaseAdapter,S ...

android开发中适配器Adapter有:

ArrayAdapter

BaseAdapater

CursorAdapter

HeaderViewListAdapter,

ResourceCursorAdapter

SimpleAdapter

SimpleCursorAdapter

WrapperListAdapter

最常用的有ArrayAdapter,BaseAdapter,SimpleAdapter,而listView控件就需要用到Adapter

一.简单的listView

如果在List列表中没有过于复杂的东西,就直接new ArrayAdapter()来绘制列表,无需继承

ArrayAdapter,重写它的方法。如果list比较复杂的话,就要自定义布局来实现List列表。

如果是在xml文件中创建了listview

可以用到的属性:

android:divider分割线的颜色

android:dividerHeight分割线的高度

android:entries="@array/week"列表内容,在values下新建arrays.xml文件

android:headerDividersEnabled="false"

android:footerDividersEnabled="false"//首尾割线是否可见

arrays.xml文件的内容如下:

1

2

3

4

5

6

7

8

9

<string-array name="week">

<item>Monday</item>

<item>Tuesday</item>

<item>Wednesday</item>

<item>Thursday</item>

<item>Friday</item>

<item>Saturday</item>

<item>Sunday</item>

</string-array>

也可以用纯代码编写:

ListView listview = new ListView(this);

private String[] mlistStr = {"姓名:雨松MOMO","性别:男","年龄:25","居住地:北京","邮

箱:xuanyusong@gmail.com"};

ArrayAdapter adapter = new ArrayAdapter

(this,android.R.layout.simple_list_item_1, mlistStr);

listview.setAdapter(adapter);

listview.setOnItemClickListener(new OnItemClickListener() {

1

2

@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int

arg2,

long arg3) {

// TODO Auto-generated method stub

Toast.makeText(MainActivity.this, mlistStr[arg2],

Toast.LENGTH_SHORT).show();

}

1

2

});

setContentView(listview);//一定要记得加载

2.带有标题的listView

使用simpleAdapter必须要用Map item来保存列表中的每一项来显示title和

text,new simpleAdapter将Map中的数据写入,程序就会帮助绘制列表。

代码如下:

private String[] mListTitle = { "姓名", "性别", "年龄", "居住地","邮箱"};

private String[] mListStr = { "雨松MOMO", "男", "25", "北京",

"xuanyusong@gmail.com" };

ListView listview = new ListView(this);

ArrayList> mData = new ArrayList>();

for(int i = 0; i < mListStr.length; ++i){

Map item = new HashMap();

item.put("title", mListTitle[i]);

item.put("text", mListStr[i]);

mData.add(item);

}

SimpleAdapter adapter = new SimpleAdapter(this, mData,

android.R.layout.simple_list_item_2,

new String[]{"title", "text"}, new int[]{android.R.id.text1, android.R.id.text2});

listview.setAdapter(adapter);

setContentView(listview);

3.带图片的Listview

使用simpleAdapter来实现带图片的listView,因为系统的布局已经不能满足我们的要求了,所以

要自定义布局,同样用map item 来保存列表当中的每一项内容,如图片,标题,

文本内容等。

赞助本站

人工智能实验室
AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港