ArrayAdapter,SimpleAdapter

1--ArrayAdapter

  ListViewActivity.java

package com.example.lenovo.textapp4;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class ListViewActivity extends AppCompatActivity {

    ListView lv_1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view);

        ListView lv_1=(ListView)findViewById(R.id.lv_1);

        //1-数据集合   Layout文件
        String []str={"A1","A2","A3","A4","A5","A6","A7","A8","A9","B1","B2","B3","B4","B5","B6","B7","B8","B9"};

        //2-创建Adapter
        ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(this,R.layout.array_adapter,str);

        //3-绑定到ListView
        lv_1.setAdapter(arrayAdapter);
    }
}

  activity_list_view.xml

<?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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.lenovo.textapp4.ListViewActivity">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lv_1">

    </ListView>

</LinearLayout>

  array_adapter.xml

<?xml version="1.0" encoding="utf-8"?>

    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    android:textSize="20sp"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"/>

2--SimpleAdapter

  List2Activity.java

package com.example.lenovo.textapp4;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;

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

public class List2Activity extends AppCompatActivity {

    ListView lv_2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list2);

        lv_2=(ListView)findViewById(R.id.lv_2);

        //1-数据集合   Layout文件
        List<Map<String,Object>> lm=new ArrayList<Map<String,Object>>();
        Map<String,Object> map=new HashMap<String,Object>();

        map.put("img",R.drawable.f1);
        map.put("name","美食1");
        map.put("content","美食1的美食介绍");
        lm.add(map);

        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f2);
        map.put("name", "美食2");
        map.put("content","美食2的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f3);
        map.put("name", "美食3");
        map.put("content","美食3的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f4);
        map.put("name", "美食4");
        map.put("content","美食4的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f5);
        map.put("name", "美食5");
        map.put("content","美食5的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f6);
        map.put("name", "美食6");
        map.put("content","美食6的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f7);
        map.put("name", "美食7");
        map.put("content","美食7的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f8);
        map.put("name", "美食8");
        map.put("content","美食8的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f9);
        map.put("name", "美食9");
        map.put("content","美食9的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f10);
        map.put("name", "美食10");
        map.put("content","美食10的美食介绍");
        lm.add(map);

        //数组 key的数组
        String [] strings={"img","name","content"};

        int [] ids={R.id.iv_2,R.id.tv_7,R.id.tv_8};

        //2-创建simpleadapter
        SimpleAdapter simpleAdapter=new SimpleAdapter(this,lm,R.layout.simpleadapter_activity,strings,ids);

        //绑定

        lv_2.setAdapter(simpleAdapter);
    }
}
package com.example.lenovo.textapp4;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;

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

public class List2Activity extends AppCompatActivity {

    ListView lv_2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list2);

        lv_2=(ListView)findViewById(R.id.lv_2);

        //1-数据集合   Layout文件
        List<Map<String,Object>> lm=new ArrayList<Map<String,Object>>();
        Map<String,Object> map=new HashMap<String,Object>();

        map.put("img",R.drawable.f1);
        map.put("name","美食1");
        map.put("content","美食1的美食介绍");
        lm.add(map);

        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f2);
        map.put("name", "美食2");
        map.put("content","美食2的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f3);
        map.put("name", "美食3");
        map.put("content","美食3的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f4);
        map.put("name", "美食4");
        map.put("content","美食4的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f5);
        map.put("name", "美食5");
        map.put("content","美食5的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f6);
        map.put("name", "美食6");
        map.put("content","美食6的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f7);
        map.put("name", "美食7");
        map.put("content","美食7的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f8);
        map.put("name", "美食8");
        map.put("content","美食8的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f9);
        map.put("name", "美食9");
        map.put("content","美食9的美食介绍");
        lm.add(map);
        map=new HashMap<String,Object>();
        map.put("img",R.drawable.f10);
        map.put("name", "美食10");
        map.put("content","美食10的美食介绍");
        lm.add(map);

        //数组 key的数组
        String [] strings={"img","name","content"};

        int [] ids={R.id.iv_2,R.id.tv_7,R.id.tv_8};

        //2-创建simpleadapter
        SimpleAdapter simpleAdapter=new SimpleAdapter(this,lm,R.layout.simpleadapter_activity,strings,ids);

        //绑定

        lv_2.setAdapter(simpleAdapter);
    }
}

  activity_list2.xml

<?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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.lenovo.textapp4.List2Activity">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lv_2">

    </ListView>

</LinearLayout>

  simpleadapter_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:src="@drawable/f1"
        android:id="@+id/iv_2"/>
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="1"
        android:layout_margin="20dp"
        android:gravity="center_vertical">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="名字"
            android:id="@+id/tv_7"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="内容"
            android:id="@+id/tv_8"/>

    </LinearLayout>
</LinearLayout>

				
时间: 2024-10-10 02:25:29

ArrayAdapter,SimpleAdapter的相关文章

ArrayAdapter与SimpleAdapter的使用

在使用ListView中我们使用到adapter,android中为我们不仅提供了BaseAdapter类来让我们自定义自己的Adapter,还为我们提供了ArrayAdapter以及SimpleAdapter.现在让我们简述一下,这两个类的简答使用方法. package xidian.dy.com.chujia; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.w

[转]Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段

收藏ArrayAdapter.SimpleAdapter和BaseAdapter的一些简短代码片段,希望用时方便想起其用法. 1.ArrayAdapter 只可以简单的显示一行文本 代码片段: [java] view plaincopy ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, R.layout.item,//只能有一个定义了id的TextView data);//data既可以是数组,也可以是Li

Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段(转)

摘自:http://blog.csdn.net/shakespeare001/article/details/7926783 收藏ArrayAdapter.SimpleAdapter和BaseAdapter的一些简短代码片段,希望用时方便想起其用法. 1.ArrayAdapter 只可以简单的显示一行文本 代码片段: [java] view plaincopy ArrayAdapter<String> adapter = new ArrayAdapter<String>( this

Android学习笔记(10)——数据适配器ArrayAdapter和SimpleAdapter

上一篇文章我们介绍了关于ListView的基本知识,也说到了一些关于数据适配器Adapter的问题,这里我们继续介绍两种比较常见的数据适配器的类型,ArrayAdapter和SimpleAdapter.这两种适配器各自有各自的特点,适用于不同的情况. ArrayAdapter 这种适配器比较简单,常用于仅仅是文本内容的ListView.没有图标或者比较复杂的布局的情况下,实现方法主要就是去填写构造函数中的参数,ArrayAdapter函数的构造方法有好几种,这里介绍了最主要的两种情况,具体可以看

Android -- ListView与ArrayAdapter、SimpleAdapter

对于ArrayAdapter,里面虽然能添加图片,但只能是相同的图片. 废话不多说: 布局&&list的item布局                                                                 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andro

Android UI学习之ListView(使用ArrayAdapter和SimpleAdapter)

既然要使用ArrayAdapter,那我们先看看系统中所以的Adapter关系: 在实际中使用频率比较高的有:SimpleAdapter, ArrayAdapter, BaseAdapter BaseAdapter: 是一个抽象类,实现它要实现比较多的方法,但是灵活的高 ArrayAdapter:支持了泛型操作,比较简单,一般只能显示同类型的数据 SimpleAdapter:有比较好的灵活的,可以定义自己的UI 关于BaseAdapter在上一节已经讲过,这里不在举例说明 我们先使用ArrayA

深入理解使用ListView时ArrayAdapter、SimpleAdapter、BaseAdapter的原理

在使用ListView的时候,我们传给setAdapter方法的Adapter通常是ArrayAdapter.SimpleAdapter.BaseAdapter,但是这几个Adapter内部究竟是什么样子如果我们不搞清楚的话,在使用的时候就会感觉有些混乱,概括的说这三个Adapter之间的差异主要是由他们各自的getView方法的差异造成的,接下来我们一起看一下这几个Adapter的getView的源码 1.ArrayAdapter的getView方法源码如下: public View getV

View(视图)——ListView之ArrayAdapter和SimpleAdapter文集

一.ArrayAdapter 1.layout:只能有一个<TextView>,不能有布局. 2.数据源:String[ ]或List<String>. 二.SimpleAdapter 1.数据源:List<Map<String,Object>>. 2.layout:可以用布局,包含多个视图. 3.构造方法 1-String[ ]{Map集合的key}: 2-int[ ]{layout文件中视图的id,和Map集合的key对应}. 三.监听器 1. Adap

无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)

1.listview入门,自定义的数据适配器 <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&