SimpleAdapter 和 ArrayAdapter使用详解
来源:互联网 发布:自动抢火车票软件 编辑:程序博客网 时间:2024/06/05 19:16
这一节我们来讲解一下适配器的使用以及应注意的问题,那么什么是适配器呢?
适配器,顾名思义,就是连接视图布局与数据的桥梁。android为我们提供了两个比较常用的适配器,一个是SimpleAdapter
另一个是ArrayAdapter
(注意:simpleAdapter
只支持复杂的泛型集合,而ArrayAdapter
支持比较常见的数组,链表,数据库,集合)。记住配置listView分三步走。
1.创建适配器
2.连接数据源
3.将适配器连接到我们的listview中,好了下面代码上见分晓
首先我们来创建一个一个android的工程,命名为SimplistTest
,接下来在mainactivity类下添加如下代码:
package com.example.simplelisttest;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.SimpleAdapter;import android.os.Build;public class MainActivity extends Activity { List<Map<String,Object>> simpleList=new ArrayList<Map<String,Object>>();;//只支持泛型的复杂集合对象 private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView=(ListView)findViewById(R.id.list_view);//连接到我们的视图模型中,及下面的main_activity.xml文件 initSimpleData();//初始化data /* * 创建适配器 * 第一个参数是上下文 * 第二个是数据源 * 第三个参数是需要适配的视图模型 * 第四个是数据源中的键值对中的key * 第五个是视图中相对应的id */ SimpleAdapter simple=new SimpleAdapter(this, simpleList,R.layout.item,new String[]{"fruit_image","fruit_name"}, new int[]{R.id.fruit_image,R.id.fruit_name}); /*将适配器导入到listView中*/ listView.setAdapter(simple); } private List<Map<String,Object>> initSimpleData(){ for(int i=0;i<20;i++){ Map<String,Object> datalist=new HashMap<String,Object>(); datalist.put("fruit_image", R.drawable.apple_pic); datalist.put("fruit_name", "apple"); simpleList.add(datalist); } return simpleList; }}
item.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="horizontal"><ImageViewandroid:id="@+id/fruit_image"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/fruit_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginLeft="10dip" /></LinearLayout>
activity_main.xml文件
android:layout_width="match_parent"android:layout_height="match_parent" ><ListViewandroid:id="@+id/list_view"android:layout_width="match_parent"android:layout_height="match_parent" ></ListView></LinearLayout>
运行效果如下:
…………………….好像网速不给力,算了就这样吧
关于ArrayAdapter其实比simpleAdapter更为简单,供上第一行代码里面的源码,如下:
activity_main.xml 中的代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><ListViewandroid:id="@+id/list_view"android:layout_width="match_parent"android:layout_height="match_parent" ></ListView></LinearLayout>
java代码
public class MainActivity extends Activity {private String[] data = { "Apple", "Banana", "Orange", "Watermelon","Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango" };@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, data);ListView listView = (ListView) findViewById(R.id.list_view);listView.setAdapter(adapter);}}
好了,这一章节我们就讲到这里
0 0
- SimpleAdapter 和 ArrayAdapter使用详解
- ArrayAdapter和SimpleAdapter详解
- 使用ArrayAdapter和SimpleAdapter
- ArrayAdapter和SimpleAdapter简单使用
- Android中SimpleAdapter,ArrayAdapter和BaseAdapter详解
- Android中SimpleAdapter,ArrayAdapter和BaseAdapter详解
- ArrayAdapter, SimpleAdapter 和BaseAdapter的使用范例
- 20.ArrayAdapter和SimpleAdapter的使用
- ArrayAdapter 和 SimpleAdapter
- andriod SimpleAdapter和ArrayAdapter
- ArrayAdapter和SimpleAdapter
- ArrayAdapter、SimpleAdapter和BaseAdapter
- Android 中 ListAactivity 和Activity 使用ListView 以及ArrayAdapter和SimpleAdapter参数详解
- 使用详解及源码解析Android中的Adapter、BaseAdapter、ArrayAdapter、SimpleAdapter和SimpleCursorAdapter
- 使用详解及源码解析Android中的Adapter、BaseAdapter、ArrayAdapter、SimpleAdapter和SimpleCursorAdapter
- 使用详解及源码解析Android中的Adapter、BaseAdapter、ArrayAdapter、SimpleAdapter和SimpleCursorAdapter
- ArrayAdapter适配器和SimpleAdapter适配器以及ListView的使用
- Android UI学习之ListView(使用ArrayAdapter和SimpleAdapter)
- 编译器的工作过程
- PAT 1094. The Largest Generation(BFS)
- 扩充的数据结构-Order Statistic Tree
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- Hive IN子句功能梳理
- SimpleAdapter 和 ArrayAdapter使用详解
- RocketMq集群环境实战(双namesrv、双master、双slave)
- MySQL存储大数据报错的解决方法
- Git分支管理策略
- android 应用程序唯一标示
- SQL按照日、周、月、年统计数据
- 获取Android屏幕尺寸、控件尺寸、状态栏/通知栏高度、导航栏高度
- Android 正则表达式验证手机和邮箱格式是否正确
- phpcms pc标签 模板函数应用