A. android自定义适配器怎么写
自定义适配器如下:
public
class
ImageAdapter
extends
BaseAdapter{
public
int
res[];
private
Context
context;
public
ImageAdapter(int
res[],Context
context){
this.res=res;
this.context=context;
}
@Override
//返回已定义数据源总数量
public
int
getCount()
{
//
TODO
Auto-generated
method
stub
return
res.length;
}
@Override
//告诉适配器取得目前容器中的数据对象
public
Object
getItem(int
position)
{
//
TODO
Auto-generated
method
stub
return
position;
}
@Override
//告诉适配器取得目前容器中的数据ID
public
long
getItemId(int
position)
{
//
TODO
Auto-generated
method
stub
return
position;
}
@Override
//取得当前欲显示的图像View
public
View
getView(int
position,
View
convertView,
ViewGroup
parent)
{
//
TODO
Auto-generated
method
stub
ImageView
image=new
ImageView(context);
image.setBackgroundResource(res[position]);
image.setLayoutParams(new
Gallery.LayoutParams(400,300));
image.setScaleType(ScaleType.FIT_XY);
return
image;
}
}
B. android studio中怎样使用适配器
顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示。可以看作是 界面数据绑定的一种理解。它所操纵的数据一般都是一些比较复杂的数据,如数组,链表, 数据库,集合等。 适配器就像显示器,把复杂的东西按人可以接受的方式来展现。 那...
C. android适配器里面怎么控制ui
Android中大量用到了适配器模式,比如ListView、GridView等。
所谓的适配器模式,我的理解是类似电源适配器或者转接头之类的转换器。
电源适配器将不适合机器工作的电压输出为机器适合的电压。转接头就更好理解了,将不配套的插头和插座连接在一起。适配器模式跟这个类似,将两个不相干的类作用在一起,使它们能配套适用。Android里面的适配器结构基本如上图所示。还有其他的各种适配器类如SimpleAdapter,SimpleCursorAdapter等都是直接或间接地继承BaseAdapter。我们自定义ListView时所用到的Adapter同样要继承BaseAdapter必须实现几个方法:getCount(),getItem(int position),getItemId(int position),getView(int position, View convertView, ViewGroupparent)
为什么会这样呢?
注意到Spinnerdapter和ListAdapter都是接口,它们继承了Adapter接口。而BaseAdapter是一个抽象类,它实现上述两个接口,但它并没有实现上面提到的那四个方法。所以构建BaseAdapter的子类时必须要实现那四个没有实现的四个接口方法。其实在Android中有很多这样的例子,在继承某个类时会默认让你Override一些方法,这些方法就是父类中没有实现的接口方法。
重写了这四个方法后适配器才能够和控件合作,将数据和控件UI联系起来。
D. android怎么刷新适配器
用对象点这个notifyDataSetChanged(); 方法就可以刷新适配器了
Adapter.notifyDataSetChanged();
就像这样,帮助到你请采纳。。。。
E. android的适配器有什么作用
连接控件与数据源之间的桥梁,用来将数据绑定到控件上。
在Android界面开发过程中,经常需要使用列表视图控件(ListView)、缩略图浏览器控件(Gallery)、网格控件 (GridView)、下拉列表(Spinner)等控件进行数据的展示, 然而Activity中的数据(数组、链表、集合、数据库等)是 无法直接传递给这类控件,要将数据在控件上进行显示,必须借助数据适配器(Adapter)来完成。
(5)android适配器扩展阅读:
适配器的适配模式:
一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
适配器模式主要应用于,当接口里定义的方法无法满足客户的需求,或者说接口里定义的方法的名称或者方法界面与客户需求有冲突的情况。
两类模式:对象适配器模式 - 在这种适配器模式中,适配器容纳一个它我包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。类适配器模式 - 这种适配器模式下,适配器继承自已实现的类(一般多重继承)。
适配器不具备数据速率转换功能。
在计算机编程中,适配器包括:容器适配器、迭代器适配器、泛函适配器等。
F. android中的适配器是什么
适配器就是就是把一些数据给弄得适当,适合以便于在View上显示。
1、Android适配器是数据和视图之间的桥梁,以便于数据在View上显示。适配器就像显示器,把复杂的东西按人可以接受的方式来展现。我们常用的适配器一共有三个:ArrayAdapter,SimpleAdapter,SimpleCursorAdapter 这三个,他们都是继承于BaseAdapter 。
2、Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。
G. android studio 适配器是干什么的
在处理列表数据时,对viewgroup和数据就行适配的,根据列表数据的size生成对应个数的itemview再在viewholder中将每个数据装填至itemview,还可以处理滑动,数据更新,item的点击事件等等
H. android适配器怎样进行数据适配
顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示。适配器就像显示器,把复杂的东西按人可以接受的方式来展现。也可以这样来理解适配器,ListView通过适配器,理解我们要对ListView里加入什么内容,而我们在适配器里@Override的方法,就是让我们写上我们要告诉这个ListView的一些基本内容。
可以说适配器就是数据和视图之间的桥梁,学好适配器还是非常重要的。
让我们先从各个方面理解适配器,然后看一些例子我想应该就可以彻底掌握它了!
适配器的工作原理:
适配器是怎么处理得到的数据,并把它显示出来的呢?其实很简单,说白了适配器它也是一个类,在类里面它实 现了父类的这几个方法:
public int getCount() //得到数据的行数
public Object getItem(int position) //根据position得到某一行的记录
public long getItemId(intposition) //的到某一条记录的ID
还有最重要的:
publicView getView(intposition, View convertView, ViewGroup parent)
//相比于其它几个方法这个方法是最重要的,它显式的定义了适配器将要以什么样的方式去显示我们所 填充的数据,在自定义的适配器里面我们通常会给它写个布局文件。
这些在最后的一两个例子里会仔细讲解,我们从简单的看起:首先看看常用的适配器
我们常用的适配器一共有三个,当然不包含自定义的适配器:就是ArrayAdapter,SimpleAdapter,SimpleCursorAdapter 这三个,他们都是继承于BaseAdapter 。
下面我会逐一介绍,我们在具体应用中来继续学习Adapter:
说道Adapter不得不说道ListView,或者说用到ListView不得不提到Adapter
在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。
而列表的显示需要三个元素:
1.ListVeiw 用来展示列表的View。
2.适配器 用来把数据映射到ListView上的中介。
3.数据 具体的将被映射的字符串,图片,或者基本组件。
根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来
我们从最简单的ListView开始(ArrayAdapter):
我打算把这几种适配器的例子放在一个app里面,然后上传到我的资源,再分享链接给大家。所以我打算由MainActivity里的Button来跳转到各个例子,现在让我们一步步的把这个Demo写出来。
项目开始啦!
(1)首先,新建一个app ,名字叫做 AdapterDemo ,先在activity_main.xml里添加一个button,一会跳转的时候使用。
(2)然后新建一个类ArrayAdapterDemo继承自Activity作为我们第一个小例子的Activity,@Override 我们的onCreate方法
新建一个xml文件arrayadapterdemo.xml作为我们的布局文件,其中包含一个文本域和一个ListView,代码如下:
arrayadapterdemo.xml:
?
1
2
3
4
5
6
7
8
9
10
<!--?xml version="1.0" encoding="utf-8"?-->
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">
<textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是ArrayAdapter的一个例子">
</textview>
<listview android:id="@+id/arrayadapterdemolistview" android:layout_width="wrap_content" android:layout_height="wrap_content">
</listview>
</linearlayout>
(3)然后回到ArrayAdapterDemo,定义一个Listview暂且叫做lv,并且lv=(ListView)findViewById(R.id.arrayadapterdemolistview); ,setContentView()为刚才的xml布局,然后为lv设置一个适配器,这里使用的是安卓原生的ArrayAdapter(Context context, inttextViewResourceId, List objects)来装配数据,要装配这些数据就需要一个连接ListView视图对象和数组数据的适配器 来两者的适配工作。
ArrayAdapter的构造需要三个参数,依次为:this,布局文件(注意这里的布局文件描述的是列表的每一行的布局, android.R.layout.simple_list_item_1是系统定义好的布局文件只显示一行文字,数据源(一个List集合)。同时用setAdapter()完 成适配的最后工作。
一般写一个getData()方法来作为最后一个参数,最终代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.example.adapterdemo;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ArrayAdapterDemo extends Activity {
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.arrayadapterdemo);
lv=(ListView)findViewById(R.id.arrayadapterdemolistview);
lv.setAdapter(new ArrayAdapter<string>(this,
android.R.layout.simple_expandable_list_item_1, getData()));
}
public List<string> getData(){
List<string> data = new ArrayList<string>();
data.add("测试数据1");
data.add("测试数据2");
data.add("测试数据3");
data.add("测试数据4");
return data;
}
}
</string></string></string></string>
再在AndroidManifest.xml中注册Activity并在主界面中完成button监听跳转就可以了。
I. Android:安卓下的这三个适配器有什么区别CursorAdapter\ResourceAdapter\SimpleCursorAdapter
三个适配器都是BaseAdapter的子类,用于ListView展示数据用的。
CursorAdapter继承于BaseAdapter,它是个虚类,它为cursor和ListView提供了连接的桥梁。它的数据是与Cursor绑定的。它提供两个抽象函数newView和bindView给派生类特制化:newView生成自定 义的View,bindView为自定义View绑定数据。所以我们继承CursorAdapter时,只需要实现这两个函数即可。
ResourceCursorAdapter 继承于CursorAdapter,它包含LayoutInflater对象,可以把xml转化成view。成员函数newView和 newDropDownView,根据构造函数初始化时传入或是setViewResource设置的资源id,产生对应的view并返回。
SimpleCursorAdapter继承于CursorAdapter,通过游标访问数据库。
J. android 怎么给适配器页面传数据
使用同步适配器(sync adapter)传输数据
在android设备与web服务器之间实现数据同步能显着提高你的应用的实用性,让你的应用更受用户的欢迎。比如说,你的数据上传给web服务器,这就有了一个实用的备份。当用户的设备离线工作时,这时从服务器下载输数据是很有用的。有些情况下,用户可能会觉得通过网页的同步接口来输入或编辑数据更方便,因为这些数据很快就从同页上同步过来了,他们也可能想在一段时间内采集数据然后再将数据上传到中央存储区。
尽管你可以自己为你的应用设计一套数据传输系统, 你仍应该考虑使用Android的Sync adapter framework(m同步适配器框架)。这个框架能帮你自动管理数据传输以及多个不同应用之间的相应的同步操作。借助这个框架,你可以使用以下几个功能,而这些功能不适用于你自己设计的数据传输方案。
插件结构
允许你以可调用控件的形式来向系统添加数据传输代码。
自动化操作
允许你基于大量的标准之上进行数据自动传输,其中包括数据修改,运行时间以及当天的时间。另外,你可在系统里添加数据传输代码,这些代码无法在队列里运行。当需要的时候,它们就会被运行。
网络自动检查
当你的设备有网络连接时,系统才会传输数据。
提高电池性能
你可以在一个位置来集成管控你所有应用的数据传输任务,保证了它们都在同一时间被执行。同样,你应用的数据传输和其它应用的数据传输也被限定连在一起了。这些特性能够减少你的系统在网络上切换的次数,也就减少了电池的消耗。
帐户的管理和认证
如你的应用有需要用户的证书或服务器的登录,你可以很随意将帐户的管理和认证集成到你的数据传输中。
这个类展示了如何创建一个同步适配器和bound service,其中bound service 包裹着适配器。如何提供一些组件能够帮助你将sync adapter 集成到框架里,如何用各种方式运行同步适配器(sync adapter)。
注意:同步适配器可以异步工作。所以使用前你要先知道它们是定期而有效地传输数据,而不是即时地。如果你需要即时传输数据,应该在AsyncTask或IntetentService里操作。
教程
创建一个根认证器
学习如何添加一个帐户处理组件,满足同步适配器的需要,成为你app的一部分。这个教程会向你展示怎样简单地创建一个根验证器。
创建根Content provider
学习如何添加一个content provider, 满足同步适配器的需要,成为你app的一部分。这节教程假设你的应用没有使用content provider, 这里会你演示怎么创建这个根组件。如果你的应用已经使用了content provider, 请忽略这部分。
创建同步适配器(sync adapter)
学习如何将你的数据传输代码封装到你的组件,使同步适配器框架(sync adapter framework)可以自动运行。
运行同步适配器(sync adapter)
学习如何使用同步适配器框架(sync adapter framewrok)来触发和安排你的数据传输。