ListView使用(四)item交互操作

业务要求,点击item时,对应的item改变样式,接着使用(三)的项目

修改Adapter

添加成员变量以及方法

1
2
3
4
5
6
private int selectItem = -1;
private int currentFlag = 0;
//标识选择的Item
public void setSeclection(int position) {
selectItem = position;
}

在getview()中添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if(selectItem == -1)
{ /* 初始状态,默认0被选中*/
if(currentFlag == position){
//设置选中的背景
view.setBackgroundColor(Color.parseColor("#FF842D6F"));
title.setTextColor(Color.parseColor("#FFFFFFFF"));

}
}else { /* 选中一个,其他item背景消失 */
if (position == selectItem)
{
view.setBackgroundColor(Color.parseColor("#FF842D6F"));
title.setTextColor(Color.parseColor("#FFFFFFFF"));

} else
{
title.setTextColor(Color.parseColor("#FF690052"));
view.setBackgroundColor(Color.parseColor("#FFFFFFFF"));

}
}

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Notice_fragment extends Fragment implements AdapterView.OnItemClickListener{
private int itemnow;

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//获取点击的item
itemnow = position;
adapter_notice.setSeclection(position);
//刷新界面
adapter_notice.notifyDataSetChanged();

}
}

实现