ArrayAdapter和SimpleAdapter适配器

2024-01-24 17:38

本文主要是介绍ArrayAdapter和SimpleAdapter适配器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

适配器及适配器控件

1、ArrayAdapter
实现代码

public class Main2Activity extends AppCompatActivity {private ListView listAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);initView();}private void initView(){listAdapter = findViewById(R.id.list_adapter);ArrayAdapter<String> adapter = new ArrayAdapter<>(getApplicationContext(),R.layout.support_simple_spinner_dropdown_item,new String[]{"音乐","电影","足球"});listAdapter.setAdapter(adapter);}
}

其中support_simple_spinner_dropdown_item为系统自带的行布局文件,也可以自己编译一个行布局文件
这里写图片描述

2、SimpleAdapter

 private ListView listView ;private String [] keys = new String []{"name","role","team"};private int [] IDs = new int[]{R.id.name,R.id.role,R.id.team};private List<HashMap<String, String>> list;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);initView();}private void initView(){listView = (ListView)findViewById(R.id.list_adapter);list = new ArrayList<HashMap<String,String>>();HashMap<String, String> map = new HashMap<String, String>();map.put("name", "小罗");map.put("role", "足球");map.put("team", "巴萨罗那");list.add(map);HashMap<String, String> map2 = new HashMap<String, String>();map2.put("name", "乔丹");map2.put("role", "篮球");map2.put("team", "公牛");list.add(map2);SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(), list, R.layout.item, keys, IDs);listView.setAdapter(adapter);}

item为自己编写的行布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal" ><TextView
    android:id="@+id/name"android:layout_width="130dp"android:layout_height="wrap_content" /><TextView
        android:id="@+id/role"android:layout_width="130dp"android:layout_height="wrap_content"/><TextView
        android:id="@+id/team"android:layout_width="130dp"android:layout_height="wrap_content"/>
</LinearLayout>

这里写图片描述

这篇关于ArrayAdapter和SimpleAdapter适配器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/640451

相关文章

C++ STL 适配器

系列文章目录 模板特例化,偏特化,左右值引用 https://blog.csdn.net/surfaceyan/article/details/126794013 C++ STL 关联容器 https://blog.csdn.net/surfaceyan/article/details/127414434 C++ STL 序列式容器(二) https://blog.csdn.net/surfac

漫谈设计模式 [6]:适配器模式

引导性开场 菜鸟:老鸟,我最近在项目中遇到一个问题,我们的系统需要集成一个新的第三方库,但这个库的接口和我们现有的代码完全不兼容。我该怎么办? 老鸟:这是个常见的问题,很多开发者都会遇到这种情况。你有没有听说过适配器模式? 菜鸟:适配器模式?没有,能详细说说吗? 老鸟:当然可以!这就是我们今天要讨论的主题。适配器模式是一个设计模式,可以帮助我们解决你现在遇到的问题。 渐进式介绍概念 老

java设计模式day03--(结构型模式:代理模式、适配器模式、装饰者模式、桥接模式、外观模式、组合模式、享元模式)

5,结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: 代理模式 适配器模式 装饰者模式 桥接模式 外观模式 组合模式

《GOF设计模式》—适配器(ADAPTER)—Delphi源码示例:可插入的Adapter(参数化的适配器)

 示例:可插入的Adapter(参数化的适配器) 实现: c)、参数化的适配器 用一个或多个模块对适配器进行参数化。模块构造支持无子类化的适配。一个模块可以匹配一个请求,并且适配器可以为每个请求存储一个模块。 在本例中意味着,TreeDisplay存储的一个模块用来将一个节点转化成为一个GraphicNode,另外一个模块用来存取一个节点的子节点。   例如,当对一个目录

《GOF设计模式》—适配器(ADAPTER)—Delphi源码示例:可插入的Adapter(使用代理对象)

 示例:可插入的Adapter(使用代理对象) 实现: b)、使用代理对象 在这种方法中,TreeDisplay将访问树结构的请求转发到代理对象。TreeDisplay的客户进行一些选择,并将这些选择提供给代理对象,这样客户就可以对适配加以控制,如下图所示。 例如,有一个DirectoryBrowser,它像前面一样使用TreeDisplay。DirectoryBrows

《GOF设计模式》—适配器(ADAPTER)—Delphi源码示例:可插入的Adapter(使用抽象操作)

 示例:可插入的Adapter(使用抽象操作) 说明: 当其他的类(如A)使用一个类(如C)时,如果所需的假定条件越少,这个类(如C)就更具可复用性。如果将接口匹配构建为一个类(如B),就不需要假定对其他的类可见的是一个相同的接口(如C接口)。也就是说,接口匹配使得我们可以将自己的类(如C)加入到一些现有的系统中去,而这些系统对这个类(如C)的接口可能会有所不同。 A  =〉 C

《GOF设计模式》—适配器(ADAPTER)—Delphi源码示例:绘图编辑器

 示例:绘图编辑器 说明: 有时,为复用而设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。 例如,有一个绘图编辑器,这个编辑器允许用户绘制和排列基本图元(线、多边型和正 文等)、生成图片和图表。这个绘图编辑器的关键抽象是图形对象。图形对象有一个可编辑的形状,并可以绘制自身。图形对象的接口由一个称为Shape的抽象类定义。绘图编辑器为每一种图形对

《GOF设计模式》—适配器(ADAPTER)—Delphi源码示例:适配器接口

 示例:适配器接口 说明: (1)、定义 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 (2)、结构 对象匹配器依赖于对象组合,如下图所示。 目标Target:定义Client使用的与特定领域相关的接口。 适配器Adapter:对Adaptee的接口与Target接口进行适配。 被适配者A

android适配器总结

首先讲下最简单的下拉框的adapter:每个adpater都有一个自己的item 对输入框添加下拉的提示:这里的item是R.layout.autocomplete_item,list是传入的数据,searchtext是一个edittext,这里对传入的数据不做任何处理的   ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(th

【适配器】设计模式:旧系统迁移与第三方库集成的解决方案

引言 适配器设计模式是一种结构设计模式,它允许将一个类的接口转换成客户端期望的另一个接口。适配器让那些接口不兼容的类可以一起工作。这种模式在系统集成、插件开发和第三方库集成中尤为重要。 核心组件: 目标接口(ITarget):期望的接口,要转化成的接口定义,客户端将使用这个接口;适配者(Adaptee):已存在的类,具有不兼容Target定义的接口;适配器(Adaptor):将适配者Adap