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里,点击item子项的时候需要保持item子项的选中状态,上网搜了一些资料,最后也实现了。现在就记录下来,一方面方便以后自己回顾好复习温故,...

android 鼠标悬停状态下改变背景色(类似Button、listview item 的selector)

现在有些android设备上是支持鼠标操作的,所以为了为了用户体验的效果更好,通常会设计鼠标悬停状态!即鼠标停在某个按钮上或者listview的item上时显示其他的背景,(鼠标所过之处,片甲不留.....

android app -- 关于listview的几种用法(复用,不复用,半复用)解决item状态改变的问题

1.从最基本的不复用开始,也就是在Adapter 的getView方法中不使用ViewHolder。 这样做,也就是在listView上下滑动,被隐藏的项滑出来的时候,每次都重绘一次这一项,这样...
  • zjngogo
  • zjngogo
  • 2016年04月28日 11:11
  • 758

android app -- 关于listview的几种用法(复用,不复用,半复用)解决item状态改变的问题

1.从最基本的不复用开始,也就是在Adapter 的getView方法中不使用ViewHolder。 这样做,也就是在listView上下滑动,被隐藏的项滑出来的时候,每次都重绘一次这一项,这样的话...

选择ListView的某个item显示选中状态

xml

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

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

android listview、GridView中item点击后改变其他item中的状态 setOnItemClickListener onItemClick

先看效果: item的xml文件如下:

ListView默认Item选中状态

  • 2015年02月12日 15:14
  • 1.21MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android ListView Item 设置是否选择状态
举报原因:
原因补充:

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