Android高级控件----AdapterView与Adapter
来源:互联网 发布:下载先锋网络电视 编辑:程序博客网 时间:2024/05/04 01:53
AdapterView对象.setAdapter(Adapter对象);
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
37
38
39
40
41
public
class
MainActivity
extends
Activity {
private
ListView lv;
// 适配器控件------->V视图
private
ArrayAdapter<String> adapter;
// 适配器------>C控制器
private
String[] data = {
"我是第1个列表项"
,
"我是第2个列表项"
,
"我是第3个列表项"
,
"我是第4个列表项"
,
"我是第5个列表项"
,
"我是第6个列表项"
,
"我是第7个列表项"
};
// 数据源-->M
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到ListView
lv = (ListView) findViewById(R.id.listView1);
// 实现适配器,利用系统定义的样式,加载数据源
adapter =
new
ArrayAdapter<String>(
this
,
android.R.layout.simple_list_item_1, data);
// R.layout.cell 自己定义视图
// android.R.layout.simple_list_item_1 系统定义视图样式
// 绑定适配器到适配器控件上
lv.setAdapter(adapter);
//处理单击事件:列表项被单击时给出提示信息
lv.setOnItemClickListener(
new
OnItemClickListener() {
@Override
public
void
onItemClick(AdapterView<?> parent, View view,
int
position,
long
id) {
Toast.makeText(MainActivity.
this
,
"第"
+ (position +
1
) +
"项被单击按下"
, Toast.LENGTH_LONG)
.show();
}
});
//处理长时间按下事件:列表项被长时间按下时给出提示信息
lv.setOnItemLongClickListener(
new
OnItemLongClickListener() {
@Override
public
boolean
onItemLongClick(AdapterView<?> parent, View view,
int
position,
long
id) {
Toast.makeText(MainActivity.
this
,
"第"
+ (position +
1
) +
"项被长时间按下"
, Toast.LENGTH_LONG)
.show();
return
true
;
}
});
}
}
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
public
class
MainActivity
extends
Activity {
//声明Spinner
private
Spinner sp;
//声明Adapter
private
SimpleAdapter adapter;
//数据源
private
String[] data = {
"我是第1个列表项"
,
"我是第2个列表项"
,
"我是第3个列表项"
,
"我是第4个列表项"
,
"我是第5个列表项"
,
"我是第6个列表项"
,
"我是第7个列表项"
,
"我是第8个列表项"
,
"我是第9个列表项"
};
// 数据源-->M
//存放数据源
ArrayList<Map<String, Object>> list =
new
ArrayList<Map<String, Object>>();
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到Spinner
sp = (Spinner) findViewById(R.id.spinner1);
//将数据添加到List<Map>中,因为SimpleAdapter只能装这样的数据
Map<String, Object> map;
for
(
int
i =
0
; i < data.length; i++) {
map =
new
HashMap<String, Object>();
map.put(
"data"
, data[i]);
list.add(map);
}
//实例化Adapter
adapter =
new
SimpleAdapter(
this
, list, R.layout.cell,
new
String[] {
"data"
},
new
int
[] { R.id.textView1 });
//绑定Adapter到Spinner上
sp.setAdapter(adapter);
}
}
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
37
38
39
40
41
42
public
class
MainActivity
extends
Activity {
//声明GridView
private
GridView gv;
//声明SimpleAdapter
private
SimpleAdapter adapter;
//数据源
private
int
imageids[] = { R.drawable.item1, R.drawable.item2,
R.drawable.item3, R.drawable.item4, R.drawable.item5,
R.drawable.item6, R.drawable.item7, R.drawable.item8,
R.drawable.item9, R.drawable.item10, R.drawable.item11,
R.drawable.item12, R.drawable.item13, R.drawable.item14,
R.drawable.item15 };
private
String data[] = {
"1"
,
"2"
,
"3"
,
"4"
,
"5"
,
"6"
,
"7"
,
"8"
,
"9"
,
"10"
,
"11"
,
"12"
,
"13"
,
"14"
,
"15"
};
//存放数据
private
List<Map<String, Object>> lists;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到GridView
gv = (GridView) findViewById(R.id.gridView1);
//封装数据到List上
lists =
new
ArrayList<Map<String, Object>>();
Map<String, Object> maps;
for
(
int
i =
0
; i < imageids.length; i++) {
maps =
new
Hashtable<String, Object>();
maps.put(
"image"
, imageids[i]);
maps.put(
"data"
, data[i]);
lists.add(maps);
}
//适配数据到适配器上
adapter =
new
SimpleAdapter(
this
, lists, R.layout.cell,
new
String[] {
"image"
,
"data"
},
new
int
[] { R.id.imageView1, R.id.textView1 });
//绑定适配器到GridView上
gv.setAdapter(adapter);
}
}
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
37
38
39
40
//自定义Adapter
public
class
MyAdapter
extends
BaseAdapter {
//上下文
private
Context context;
//资源
private
int
imageids[];
//构造方法
public
MyAdapter(Context context,
int
imageids[]) {
this
.context = context;
this
.imageids = imageids;
}
//返回数据源长度
@Override
public
int
getCount() {
return
imageids.length;
}
//返回对应位置处的数据
@Override
public
Object getItem(
int
position) {
return
imageids[position];
}
//返回对应位置的行ID
@Override
public
long
getItemId(
int
position) {
return
position;
}
//返回列表项的显示样式视图
@Override
public
View getView(
int
position, View convertView, ViewGroup parent) {
//ImageView控件
ImageView iv =
new
ImageView(context);
//添加资源到控件上
iv.setImageResource(imageids[position]);
//控件在父级控件的显示样式
iv.setLayoutParams(
new
Gallery.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
//返回视图
return
iv;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public
class
MainActivity
extends
Activity {
//声明Gallery
private
Gallery gy;
//声明自定义Adapter
private
MyAdapter adapter;
//数据源
private
int
imageids[] = { R.drawable.w1,R.drawable.q1, R.drawable.q2, R.drawable.q3,
R.drawable.q4, R.drawable.q5, R.drawable.q6, R.drawable.q7, R.drawable.q8, R.drawable.q9 };
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到Gallery
gy = (Gallery) findViewById(R.id.gy);
//实例化适配器
adapter =
new
MyAdapter(
this
, imageids);
//绑定适配器到Gallery上
gy.setAdapter(adapter);
}
}
0 0
- Android高级控件----AdapterView与Adapter
- Android高级控件----AdapterView与Adapter
- Android高级控件----AdapterView与Adapter详解
- Android高级控件----AdapterView与Adapter
- Android高级控件----AdapterView与Adapter
- Android高级控件----AdapterView与Adapter
- Android高级控件----AdapterView与Adapter
- Android高级控件----AdapterView与Adapter
- Android高级控件----AdapterView与Adapter
- Android高级控件----AdapterView与Adapter详解(转)
- Android学习笔记(22):AdapterView与Adapter
- Android适配器视图与适配器AdapterView & Adapter
- AdapterView 与 Adapter
- Android 源码解析之Adapter和AdapterView与适配器模式
- AdapterView与Adapter(一)
- android adapter控件及高级控件
- 安卓Adapter 与AdapterView笔记
- AdapterView与Adapter(二) --CursorAdapter
- Effective C++条款53
- java中Base64转码与解码(加密与解密)原理与使用
- Android应用程序UI硬件加速渲染环境初始化过程分析
- linux0.12之main.c的工作流程分析
- C#ref,out变量巧用篇
- Android高级控件----AdapterView与Adapter
- openGL 坐标系的互相转换
- c# xml和类互转,支持泛型
- 深入分析java线程中的volatile
- 代码
- 天声人語 20150618
- 如何管理好一个图书馆
- ndk环境配置
- 快速夹具