Android浅谈ListView中ArrayAdapter和SimpleAdapter的用法
原创ArrayAdapter
我用代码来解释ArrayAdapter中的一般用法xml我不会谈论布局,它必须是建立一个。ListView控件的,列上的id以便在Java文件调用!事实上,它主要在Java报纸上写着我们想要的view用Array Adapter实现的功能的问题可以简单地分为四个步骤。第一步肯定是Java文件获取对象List View的属性即id是的,第二步是设置要显示的内容资源,例如String[]...文本内容或int[]...照片内容等(您的dramble)第三步是配置所需的适配器。适配器有很多种。根据您要使用的适配器进行选择,正如我们在本节中所讨论的ArrayAdapter肯定要选择。rrayAdapter适配器代码如下ArrayAdapter
代码如下:
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
效果图
okay,下一期解释List View和RecycleView差异和效率问题!
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除