Android浅谈ListView中ArrayAdapter和SimpleAdapter的用法

原创
小哥 2年前 (2022-12-19) 阅读数 42 #大杂烩

ArrayAdapter

我用代码来解释ArrayAdapter中的一般用法xml我不会谈论布局,它必须是建立一个。ListView控件的,列上的id以便在Java文件调用!事实上,它主要在Java报纸上写着我们想要的view用Array Adapter实现的功能的问题可以简单地分为四个步骤。第一步肯定是Java文件获取对象List View的属性即id是的,第二步是设置要显示的内容资源,例如String[]...文本内容或int[]...照片内容等(您的dramble)第三步是配置所需的适配器。适配器有很多种。根据您要使用的适配器进行选择,正如我们在本节中所讨论的ArrayAdapter肯定要选择。rrayAdapter适配器代码如下ArrayAdapteradapter=new ArrayAdapter<String(this,android.R.layout.simple_list_item_1,data);括号中的三个参数对应于:context是你的MainActivity,第二个参数是yes。iten模板,您可以自己设置或直接使用。Android带上你自己的,我用这个Android第三个参数是你的资源,也就是你使用的战士属性的参数,第四步是使其适应你的资源。List View建立联系,以实现显示器的功能!

代码如下:




    

MainActivity.java

package com.example.listview_arrayadapter;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //第一步:先得到它ListView控制资源
        ListView listview=this.findViewById(R.id.lv);
        //第二步是准备数据库(Array)
        String [] data={"中国","俄罗斯","美国","英国","法国","印度","韩国","朝鲜","意大利","土耳其","阿达里亚","加拿大",
               "缅甸","日本","老挝","蒙古","乌克兰","泰国"};

        //步骤3:配置适配器(ArrayAdapter)3参数、上下文、,xml布局资源,数据库源
        ArrayAdapteradapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,data);

        //步骤4:将适配器添加到ListView经行关联
        listview.setAdapter(adapter);
    }
}

最终渲染图

SimpleAdapter

再次,我使用一个代码来演示这种用法,simple adapter和arraryadapter都是继承BaseAdapter也就是说,他们都有。BaseAdapter属性!如果你想从困难程度来区分两者的区别,simple adapter这是相对困难的,因为它使用了更多的参数,如果你不小心就会晕倒!方法基本相同。我想在这里展示这些照片。我想在这里介绍一个。xml因为在这里,您可以自定义布局,并为您提供的每张图片注入统一的样式。id以下重点将是Java函数的文件实现。第一步是LiatView对象,第二部分设置内容(图片或文本)

List<Map<String,Object>> data=new ArrayList<Map<String,Object>>(); Map<String,Object> map= new HashMap<String,Object>(); map.put ("icon",R.drawable.yao); data.add(map) Map<String,Object>是定义Map集合变量,然后List<Map<String,Object>>是定义List的集合变量为map收藏;map是那个list其中一个值。

List<Map<String,Object> list=new ArrayList<Map<String,Object>>();
Map<String,Object> map=new HashMap<String,Object>();

data.add(map);//map是data中其中一个值。

这样我们就能ListView众多图片资源之一,如果您想在下面获取另一张图片

map= new HashMap<String,Object>(); map.put ("icon",R.drawable.diaochan); data.add(map);类推

注意

配置适配器时(括号5参数包括:上下文、数据参数、,item的xml布局文件,以及名称和id)

例如,如果你想展示更多的东西,你想在照片的侧面添加一个。title(字符名)和message(配置文件)您可以使用xml设置2textview也就是说,同时List<Map<String,Object>> data=new ArrayList<Map<String,Object>>(); Map<String,Object> map= new HashMap<String,Object>();下面添加map.put ("title,”title内容“);和map.put ("message”,”messgae内容“);即可

代码如下:

MainActivity.java

package com.example.listview_simpleadapter;

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 MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取对象
        ListView listview =this.findViewById(R.id.lv);
        //设置数据库(演示文稿)
        List> data=new ArrayList>();//定义List集合变量
        Map map= new HashMap();//定义Map变量
        map.put ("icon",R.drawable.yao);//将其yaotp放入map集合
        data.add(map);//将其map添加到data进入集合变量,map是data中其中一个值。

        map= new HashMap();
        map.put ("icon",R.drawable.libai);
        data.add(map);

        map= new HashMap();
        map.put ("icon",R.drawable.diaochan);
        data.add(map);
        //配置适配器(如上所述。SimpleAdapter应选择方法SimpleAdapter适配器)(括号5参数包括:上下文、数据参数、,item的xml布局文件,以及名称和id)
        SimpleAdapter adapter=new SimpleAdapter(this,data,R.layout.layout_item,new String []{"icon"},new int[]{R.id.icon});

      //使用适配器ListView建立联系的控制
        listview.setAdapter(adapter);
    }
}

效果图

okay,下一期解释List View和RecycleView差异和效率问题!

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门