Android高级控件----AdapterView与Adapter
来源:互联网 发布:ab模板源码 百度网盘 编辑:程序博客网 时间:2024/05/18 11:08
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://cinderella7.blog.51cto.com/7607653/1281696
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
- STL_5: 仿函数
- javaWeb通过POST来下载文件
- 关于有偿提供拼图响应式后台的通知
- 【jQuery】:first-child子元素过滤选择器
- python网络爬虫的记录
- Android高级控件----AdapterView与Adapter
- Linux 初始化 init 系统,第 1 部分: sysvinit
- 例题5-1 UVA 11292 The Dragon of Loowater勇者斗恶龙
- docker安装gitlab记录
- printf大坑等着很多人------一次core dump经历及定位过程(printf打印C++ string的时候忘了.c_st()转化)
- 使用Caffe尝试DeepID
- Android Studio从4.4升级所有版本SDK
- 【C语言提高33】数组指针类型定义
- Linux 初始化 init 系统,第 2 部分: UpStart