1
|
一、适配器 ListItemClickAdapter
|
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
public
class
ListItemClickAdapter
extends
BaseAdapter {
private
Context contxet;
private
ArrayList<string> list;
private
ListItemClickHelp callback;
private
LayoutInflater mInflater;
public
ListItemClickAdapter(Context contxet, ArrayList<string> list,
ListItemClickHelp callback) {
this
.contxet = contxet;
this
.list = list;
this
.callback = callback;
}
@Override
public
int
getCount() {
return
list.size();
}
@Override
public
Object getItem(
int
position) {
return
null
;
}
@Override
public
long
getItemId(
int
position) {
return
0
;
}
@Override
public
View getView(
int
position, View convertView,
final
ViewGroup parent) {
mInflater = (LayoutInflater) contxet
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ViewHolder holder;
if
(convertView ==
null
) {
convertView = mInflater.inflate(
R.layout.block_list_item,
null
);
holder =
new
ViewHolder();
holder.mAd_tv_show = (TextView) convertView
.findViewById(R.id.ad_tv_show);
holder.mAd_btn_one = (Button) convertView
.findViewById(R.id.ad_btn_one);
holder.mAd_btn_two = (Button) convertView
.findViewById(R.id.ad_btn_two);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.mAd_tv_show.setText(list.get(position));
final
View view = convertView;
final
int
p = position;
final
int
one = holder.mAd_btn_one.getId();
holder.mAd_btn_one.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View v) {
callback.onClick(view, parent, p, one);
}
});
final
int
two = holder.mAd_btn_two.getId();
holder.mAd_btn_two.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View v) {
callback.onClick(view, parent, p, two);
}
});
return
convertView;
}
public
static
class
ViewHolder {
TextView mAd_tv_show;
Button mAd_btn_one;
Button mAd_btn_two;
}
}
</string></string>
|
二、接口 ListItemClickHelp
1
2
3
4
5
6
7
8
|
/**
* listview点击事件接口
* @author Alan
*
*/
public
interface
ListItemClickHelp {
void
onClick(View item, View widget,
int
position,
int
which);
}
|
三、界面 MainActivity
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
public
class
MainActivity
extends
Activity
implements
ListItemClickHelp {
private
TextView mtv_show;
private
ListView mlv_show;
private
ArrayList<string> mdata =
new
ArrayList<string>();
private
ListItemClickAdapter madapter;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initLayout();
}
private
void
initLayout() {
mdata.add(
"One"
);
mdata.add(
"Two"
);
mdata.add(
"Three"
);
mdata.add(
"Four"
);
mdata.add(
"Five"
);
mdata.add(
"菠萝"
);
mdata.add(
"苹果"
);
mdata.add(
"葡萄"
);
mdata.add(
"哈密瓜"
);
mdata.add(
"香蕉"
);
mtv_show = (TextView)
this
.findViewById(R.id.tv_show);
mlv_show = (ListView)
this
.findViewById(R.id.lv_show);
madapter =
new
ListItemClickAdapter(
this
, mdata,
this
);
mlv_show.setAdapter(madapter);
mlv_show.setOnItemClickListener(
new
OnItemClickListener() {
@Override
public
void
onItemClick(AdapterView<!--?--> adapter, View view,
int
position,
long
arg3) {
mtv_show.setText(mdata.get(position));
}
});
}
@Override
public
void
onClick(View item, View widget,
int
position,
int
which) {
switch
(which) {
case
R.id.ad_btn_one:
mtv_show.setText(mdata.get(position) +
"Btn one"
);
break
;
case
R.id.ad_btn_two:
mtv_show.setText(mdata.get(position) +
"Btn two"
);
break
;
default
:
break
;
}
}
}
</string></string>
|
四、效果图
<img src="http://www.2cto.com/uploadfile/Collfiles/20140319/2014031909142995.jpg" alt="n块エky" http:="" www.2cto.com="" soft"="" target="_blank" class="keylink" style="border-width: 0px; padding: 0px; margin: 0px; list-style: none; height: 560px; width: 315px;">下载地址:http://download.csdn.net/detail/shi508181017/7060961