AndroidStudio中ListView的使用方法之SimpleAdapter适配器

AndroidStudio中ListView的四种使用方法之第三种SimpleAdapter适配器。

首先我们先了解一下SimpleAdapter类。

SimpleAdapter类是用来处理ListView显示数据的,这个类可以将任何自定义的xml布局文件作为列表项来使用。

SimpleAdapter构造方法的原型为:

public SimpleAdapter ( Context context,List> data,int resource,String[] form,int[] to)
参数值 关键字或名称的作用
context SimpleAdapter关联的View的运行环境
data 一个Map组成的List。列表种的每个条目对应列表中的一行,每个Map中应该包含from参数中指定的键
resource 定义列表项的布局文件的资源id
from 被添加到Map映射上的键名
to 将绑定数据的视图的Id和from参数对应

 

以上是SimpleAdapter的基础知识,接下来我们用一个例子来展示SimpleAdapter的具体使用方法。

创建一个名为ListViewSimpleAdapter的空白Activity,并为其xml文件添加一个ListView组件。

AndroidStudio中ListView的使用方法之SimpleAdapter适配器_第1张图片

在ListViewSimpleAdapter.java文件中连接xml文件和ListView主键,并创建所需要的数据。

AndroidStudio中ListView的使用方法之SimpleAdapter适配器_第2张图片

接下来我们要创建一个SimpleAdapter适配器,由SimpleAdapter的基础可知我们需要一个列表项的布局资源。

由此我们新建一个layoutitem1.xml文件,作为一个列表项的资源文件,并在这个xml文件布局。如图所示

AndroidStudio中ListView的使用方法之SimpleAdapter适配器_第3张图片

准备好以后我们再次回到ListViewSimpleAdapter.java中创建SimpleAdapter适配器,并为适配器添加好对应的参数。

AndroidStudio中ListView的使用方法之SimpleAdapter适配器_第4张图片

看到getData()报错没关系,我们按alt+enter键创建一个getData()方法用来添加数据,并为listview添加SimpAdapter适配器。

AndroidStudio中ListView的使用方法之SimpleAdapter适配器_第5张图片

最后在AndroidMainfest.xml中为MainActivity2添加过滤器,运行就行了。




    
        
            
                

                
            
        
  

效果图如下:

AndroidStudio中ListView的使用方法之SimpleAdapter适配器_第6张图片

 

原代码如下:

ListViewSimpleAdapter.java

package com.example.myapplication;

import androidx.appcompat.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.List;
import java.util.Map;

public class ListViewSimpleAdapter extends AppCompatActivity {
    ListView listView;
    int[] imageArr={R.drawable.diqiu,R.drawable.jinxing,R.drawable.muxing,R.drawable.tuxing,R.drawable.huoxing};
    String[] titleArr={"地球","金星","木星","土星","火星"};
    String[] contentArr={"地球的介绍","金星的介绍","木星的介绍","土星的介绍","火星的介绍"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view_simple_adapter);
        //连接listView
        listView=(ListView)findViewById(R.id.ListViewsimple);
        //创建SimpleAdapter适配器
        SimpleAdapter simpleAdapter=new SimpleAdapter(this,getData(),R.layout.layoutitem1,
               new String[]{"img","name","content"},new int[]{R.id.image2,R.id.textTitle,R.id.textContent});
        //为listview添加SimpleAdapter适配器
        listView.setAdapter(simpleAdapter);
    }

    private List> getData() {
        List> list;
        Map map;
        list=new ArrayList>();

        for(int i=0;i();
            map.put("img",imageArr[i]);
            map.put("name",titleArr[i]);
            map.put("content",contentArr[i]);
            list.add(map);
        }

        return list;
    }
}

activity_list_view_simple_adapter.xml





    

layoutitem1.xml




    
        
        
        
    

我们还可以使用setOnItemClickListener方法来对每一个列表项添加点击事件,在这里我就不详细讲解了

我将在下一篇博客中展示自定义适配器的使用方法

小白在线欢迎指点。

你可能感兴趣的:(android,java,listview,xml,移动开发)