Android ListView Item 设置是否选择状态

原创 2015年07月09日 20:40:15

在使用listview的过程中,经常需要记录listview的点击状态。并根据是否点击过设置不同的标志。

这里有一个好方法可以完成这个要求。

只需要在model中新增一个点击属性就可以很方便的完成。

比如:

public class GiftModel {
String integral;
int resId;
String name;
int isClick;


public int getIsClick() {
return isClick;
}


public void setIsClick(int isClick) {
this.isClick = isClick;
}


public String getIntegral() {
return integral;
}


public void setIntegral(String integral) {
this.integral = integral;
}


public int getResId() {
return resId;
}


public void setResId(int resId) {
this.resId = resId;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


@Override
public String toString() {
return "GiftModel [integral=" + integral + ", resId=" + resId + ", name=" + name + ", isClick="
+ isClick + "]";
}


}


isClick是model里没有的属性。

在初始化adapter需要的list前,初始化model里isclick的属性

private void init() {
mdataStrings = new ArrayList<GiftModel>();
GiftModel model;
String[] nameStrings = { "玩具军人", "大富翁", "仙剑奇侠传", "极品飞车" };
String[] integralStrings = { "300", "800", "1500", "2500" };
int[] resIDs = { R.drawable.icon_exchange_1, R.drawable.icon_exchange_2, R.drawable.icon_exchange_3,
R.drawable.icon_exchange_4 };
for (int i = 0; i < 4; i++) {
model = new GiftModel();
model.setIntegral(integralStrings[i]);
model.setName(nameStrings[i]);
model.setResId(resIDs[i]);
model.setIsClick(0);
mdataStrings.add(model);
}


}

在适配器里面getview方法中

if (item.getIsClick() == 0) {
helper.setImageResource(R.id.iv_exchage_item_flag, R.drawable.icon_exchage_unselect);
} else {
helper.setImageResource(R.id.iv_exchage_item_flag, R.drawable.icon_exchage_select);
}

设置item的状态标志。

这一切完成后,只需要在list里面改变对象的点击状态属性。重新加载即可。

gv_exchage_gift.setOnItemClickListener(new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
if (mdataStrings.get(position).getIsClick() == 0) {
mdataStrings.get(position).setIsClick(1);
} else {
mdataStrings.get(position).setIsClick(0);
}
mAdapter2.setdata(mdataStrings);
}
});

Android ListView 设置选中item高亮状态

以前没有怎么在意listview设置选中状态这个问题.但是真当想用的时候,实实在在的发现了一些问题 本来以为只要简单的写个颜色 selector就可以达到目的.后来发现的确是错了 先说下我走过的弯路,...
  • u010399316
  • u010399316
  • 2015年12月08日 11:59
  • 3059

android-多个listview菜单数据点击item项保留选中状态问题

布局中的listview需要特别添加红色标识属性             android:layout_width="167dp"             android:layout_hei...
  • yx_sunny
  • yx_sunny
  • 2016年03月21日 15:45
  • 745

Android ListView控件选中item项,并保持选中状态

这几天在做公司的项目,有这样一个需求,就是在listView里,点击item子项的时候需要保持item子项的选中状态,上网搜了一些资料,最后也实现了。现在就记录下来,一方面方便以后自己回顾好复习温故,...
  • raoj1991
  • raoj1991
  • 2016年04月16日 16:31
  • 7472

android listview设置选中时的item的背景色

今天实在不知道写些什么内容,所以自己在网上找了些资料,觉得还可以,所以还是写一下,觉得每天写些东西的习惯不能荒废。 默认情况下使用ListView背景色是黑色,选中item的高亮颜色是菊黄色,很多时...
  • bzlj2912009596
  • bzlj2912009596
  • 2017年04月07日 08:38
  • 1451

64ListView中item中有CheckBox带来的选择状态混乱的解决

如图:当选择第二个条目的时候,往下翻: 看到下面有的居然自己勾上了: 再网上翻,发现上面的有的也自己勾上了: 第一次遇到这个问题(手机管家项目第一次遇到这个问题,这里是拿《第一...
  • chenfuduo_loveit
  • chenfuduo_loveit
  • 2015年01月07日 18:10
  • 1308

Android中设置ListView的选中的Item的背景颜色【简单模式】

ListView中没有默认的选择颜色,只有选择Item后的焦点颜色,鼠标点击时Item有颜色,放开鼠标后颜色也就没有了,要实现放开鼠标后选择项的背景还是有颜色的 1、配置main.xml ...
  • yaya_soft
  • yaya_soft
  • 2014年05月14日 10:48
  • 17754

如何记录Listview中item的点击状态

写程序的时候,有时候需要记录listview中item的点击状态,如:listview中,每条item有隐藏区域,点击时展开,再次点击收回。而且运行同时有多个记录展开,那么就需要记录状态,在Adapt...
  • adayabetter
  • adayabetter
  • 2015年03月10日 10:59
  • 1087

ListView 处理Item的选中状态(checked)

在开发筛选条件相关的界面时,会用到如下界面,左栏选择一项,右边跳出子栏继续选择。如图: 实现起来也不难:       1. 建立一个Activity,layout中包含两个FrameLayout...
  • javine
  • javine
  • 2016年03月18日 14:33
  • 3593

android 设置listview 背景选择器

1.首先在布局文件中设置listview 背景选择器。     android:id="@+id/edit_name_items"     android:layout_height="wr...
  • cw2004100021124
  • cw2004100021124
  • 2013年11月12日 14:04
  • 1719

android中listview的item点击切换实现效果(选择器selector)

1.遇到一个需求:如图 listView  的item点击切换的时候要实现切换的效果,文字 和右边的选中图形要呈现。 2.自己的分析: 要实现这种切换的效果,我第一时间想到的是用选择器,che...
  • hustwbyuanyi
  • hustwbyuanyi
  • 2016年05月25日 15:13
  • 3077
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android ListView Item 设置是否选择状态
举报原因:
原因补充:

(最多只允许输入30个字)