【发布时间】:2012-10-13 09:03:24
【问题描述】:
我的应用中有一个列表视图,我想为每个选定的项目设置背景颜色,同时我想移动到另一个活动。然后,如果我在列表中选择另一个项目,则应该取消选择之前选择的项目。单击另一个项目时,我没有取消选择。
【问题讨论】:
-
添加一些代码将改善您的帖子......
-
最通用的解决方案是,你默认重新初始化上一个列表项。
我的应用中有一个列表视图,我想为每个选定的项目设置背景颜色,同时我想移动到另一个活动。然后,如果我在列表中选择另一个项目,则应该取消选择之前选择的项目。单击另一个项目时,我没有取消选择。
【问题讨论】:
<ImageView
android:id="@+id/imgfavoriteactive"
android:layout_width="35dip"
android:layout_height="35dip"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dip"
android:src="@drawable/favorite" />
favorite.xml set in drawable folder
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@drawable/favoriteactive"/>
<item android:state_selected="false"
android:drawable="@drawable/favoriteinactive"/>
</selector>
img_nfl_favoriteactive.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < listview.getChildCount(); i++) {
listview.getChildAt(i)
.findViewById(R.id.imgfavoriteactive)
.setSelected(false);
}
img_nfl_favoriteactive.setSelected(true);
}
});
【讨论】: