安卓开发之ListAdapter(一)

Adapter常用来管理数据,是连接后端数据和前端显示的适配器接口,是数据和UI(view)之间一个重要的纽带。再常见的view(listview、gridview)等地方都需要用到adapter,下面我们来讲讲SimpleAdapter:

•SimpleAdapter类:一个使静态数据和在xml中定义的Views对应起来的简单adapter。

•构造方法:

SimpleAdapter adapter = new SimpleAdapter(context, List<?extends Map<String,?>>  data, resource, from, to);

context:上下文,指这个适配器所运行的视图,一般是指在那个activity(界面)

data:一个泛型的List,适配器的数据源(一般使用ArrayList封装Map、HashMap对象)

resource:适配器xml视图的引用路径

from:参数是一个数组对象,主要是将Map的键映射到列名,一一对应

to:将“from”的值一一对应显示,是一个R文件的数组,一般是你所要加载数据的控件的ID数组.

list.setAdapter(adapter);

代码示例:

java代码:

package com.sumzom.arrayadp;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.example.com.sumzom.lv.R;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class ArrayAdpActivity extends Activity{

private ListView ary_list = null;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.arrayadp);
  List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
  HashMap<String, String> map = new HashMap<String, String>();
  map.put("name","xoap");
  list.add(map);
  HashMap<String, String> map1 = new HashMap<String, String>();
  map1.put("name","fnsjf");
  list.add(map1);
  SimpleAdapter adapter = new SimpleAdapter(
    getApplicationContext(), list, R.layout.lv_item,
    new String[]{"name"}, new int[]{R.id.tv} );
  ary_list = (ListView) findViewById(R.id.ary_list);
  ary_list.setAdapter(adapter);
  }

}

xml代码:

activity绑定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/ary_list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></ListView>
   
</LinearLayout>

list 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="vertical" >
   
    <LinearLayout
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
       
        <ImageView
            android:id="@+id/img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher"
        />
    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我的第一个自定义适配器"
        android:textColor="#ff00ff"/>
       
    </LinearLayout>

</LinearLayout>

运行结果:

时间: 2024-11-20 23:47:15

安卓开发之ListAdapter(一)的相关文章

安卓开发之Kotlin和java双实现仿qq空间下拉图片拉伸

先不扯淡看今天要实现的效果: 话说使用Kotlin实现安卓功能,那我们还是要做一点准备工作,so,你得加一点插件到eclipse或android studio.然并卵,你现在还在使用eclipse开发的话我只能提供地址Kotlin Plugin for Eclipse,然后我使用的还是死丢丢. 死丢丢(android studio)集成kotlin安卓开发 要使用android studio开发kotlin的安卓app,那么你必须有开发kotlin的环境: Kotlin插件.打开Android

安卓开发之RecyclerView

RecyclerView是一个非常好用的控件,它的效果和ListView很相似,甚至可以说RecyclerView的出现是来取代ListView的 RecyclerView比ListView更加灵活,具有更高的扩展性 下面就详细的介绍RecyclerView的用法 既然RecyclerView上来取带ListView的那说明RecyclerView和ListView的用法很相似,事实确实这样,也就是两个东西,一个控件和适配器(Adapter) 一:导包 我这里开发使用的AndroidStudio

安卓开发之ScrollView

当界面不足以将所有的内容显示出来的时候便导致下面的部分内容无法显示出来 所有加上ScrollView 来讲要显示的内容放入之中便可以实现上下滚动界面内容 但是当要显示多个控件的时候会出错  原因是ScrollView只能有一个子控件  解决方法就是 用一个LinearLayout(或者别的布局)来嵌套所有的控件 xml代码如下: <ScrollView android:id="@+id/ScrollView" android:layout_width="fill_par

安卓开发之activity详解(sumzom)

app中,一个activity通常是指的一个单独的屏幕,相当于网站里面的一个网页,它是对用户可见的,它上面可以显示一些控件,并且可以监听处理用户的时间做出响应. 那么activity之间如何进行通信呢?他们是通过intent进行通信以及切换.Intent有两个重要部分(动作传递,数据传递): ?神马是Activity? activity是四大组件,代表者用户可操作界面,可与用户进行交互.比如,拍照,登陆注册等交互界面.一个应用程序通常由多个activity松耦合(低耦合)组成,当用户打开app见

安卓开发之json解析

1.从网页获取json返回字符串 public class ReadNet extends AsyncTask<URL, Integer, String> { @Override        protected void onPreExecute() {            super.onPreExecute();        }        @Override        protected String doInBackground(URL... params) {      

安卓开发之APK安装之后自动在桌面上创建快捷图标

可以看到很多的APP在第一次运行之后就会弹出来一个Toast说什么快捷方式已创建,那么这个东西是怎么搞出来的呢 很简单就下面几句话,写在这儿以后好copy 先创建一个类 1 import android.app.Activity; 2 import android.content.Intent; 3 import android.os.Parcelable; 4 5 /** 6 * Created by Administrator on 2016/1/21. 7 */ 8 public clas

安卓开发之Toast.

Toast 是一个 View 视图,快速的为用户显示少量的信息. Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示.Toast 最常见的创建方式是使用静态方法 Toast.makeText 1. 默认的显示方式 1 // 第一个参数:当前的上下文环境.可用getApplicationContext()或this  2 // 第二个参数:要显示的字符串.也可是R.string中字符串ID  3 // 第三个参数:显示的时间长短.T

安卓开发之BaseAdapter用法举例,创建图形文字混合列表项

baseAdapter的用法    1.创建一个数组资源类GeneralBean package com.example.hoyin0211.entry; public class GeneralBean {    private int resid;    private String name;    @Override    public String toString() {        return "GeneralBean [resid=" + resid + "

android控件开发之ListView

android控件开发之ListView 本文主要讲述安卓开发中的ListView控件的使用方法 java代码: package com.example.listview; import java.util.ArrayList; import java.util.HashMap; import android.app.ListActivity; import android.os.Bundle; import android.view.Menu; import android.view.View