阅读 5

adapter充电器(adapter)

Adapter是什么?(适配器) Adapter本身只是一个接口,它派生了ListAdapter、SpinnerAdapter两个子接口。ListAdapter为AbsListView提供列表项、SpinnerAdapter为AbsSpinnerAdapter提供列表项。几乎所有的Adapter都继承了BaseAdapter,而BaseAdapter同时实现了ListAdapter和SpinnerAdapter两个接口,因此BSEAdapter及其子类可以同时为ABSListView和AbsSpinner提供列表项。 Adapter常用的实现类如下: ArrayAdapter:简单、易用的Adapter,常用于将数组或者list集合的多个值包装成多个列表项。 SimpleAdapter:功能强大,用于将 list集合的多个对象包装成多个列表项 SimpleCursorAdapter:与SimpleAdapter基本相似,只能用于包装Cursor提供的数据。 BaseAdapter:通常用于被扩展,扩展BaseAdapter可以对各项列表项进行最大限度的定制 Adapter为什么(要用它)? Android是完全遵循MVC模式设计的框架,Activity是Controller,layout是View。因为layout有数种布局,很多数据不能直接绑定上去,因此Android引入了Adapter机制,作为复杂数据的展示的转换载体,各种Adapter只是转换的方式和能力不一样。 Adapter常用来管理数据,使数据绑定到控件变得更简单灵活(比如列表的数据,网格的数据),为容器提供子视图,利用视图的数据和元数据来构建每个子视图。 (思路)比如这样bear调用了monkey的方法a但是a方法的参数改了,这样bear的代码也得改;在中间加一个adapter,叫abc这样bear调用abc,abc调用monkey;当monkey的a方法发生改变时,不用改bear,改abc就可以了。这样可以保证变化性集中到abc Adapter怎么用? (思路)基础的adapter用法比较简单,常见的情况是在基础的adapter上继承写一个新的,然后加入自己需要的功能,譬如列表项要是带图片带勾选按钮的,还要能对点击下拉等等。 使用ArrayAdapter创建ListView 在layout布局文件下的main.xml <?xmlversion=”1.0”encoding=”utf-8”?> <LinearLayoutxmlns:android=http://shema.android.com/apk/res/android Android:orientation=”vertical” Android:layout_width=”match_parent” Android:layout_height=”match_parent”/> <!—设置红色的分隔条--> <ListView Android:id=”@+id/list” Android:layout_width=”match_parent” Android:layout_height=”wrap_content” Android:divider=”#0ff” //分隔条,可用颜色,或者drawable分开 Android:dividerHeight=”2px” Android:headerDividersEnabled=”false”/>//不在headerView之后绘制分隔条 </LinearLayout> Activity为ListView提供Adapter,Adapter决定ListView显示的列表项 PublicclassArrayAdapterTestextendsActivity{ @Override ProtectedvoidonCreate(BundlesavedInstanceState){ Super.onCreate(savedInstanceState); setContentView(R.layou.main); LinstViewlist=(ListView)findViewById(R.id.list); //定义一个数组 String[]={“大圣归来”,”捉妖记”,”煎饼侠”,”栀子花开”}; //将数组包装成为ArrayAdapter ArrayAdapter<String>adapter=newArrayAdapter<String>(this,R.layout.array_item,arr); //为ListView设置Adapter List.setAdapter(adapter) } } 上面的R.layout.array_item布局如下 <?xmlversion=”1.0”encoding=”utf-8”?> <TextView Xmlns:android=http://schemas.android.com/apk/res/android Android:id=”@+id/TextView” Android:layout_width=”match_parent” Android:layout_height=”wrap_content” Android:textSize=”24dp” Android:padding=”10px” Android:shadowColor=”#0f0” Android:shadowDx=”4” Android:shadowDy=”4” Android:shadowRadius=”2”/>

以上就是adapter这篇文章的一些介绍,希望对大家有所帮助。

文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐