一个项目中,用到两个listivew,用的同样的代码来修改颜色表示选中。一个能正常选中后,改变颜色,另一个不能,代码都一样,如下,由于后一个listview不能改变颜色,所以,后来,干脆两个listview全用透明来表示选种状态(就是注释掉的那段)。
调试时,两个listview的updateBackground代码,都确认是执行到这里的。不然,改透明,也不可能实现,是吧。
其他都完成了, 现在就是在共时间调试这个问题,但仍然没有找到头绪。
这两个listview是分别在不同的activity中的。
不能改变颜色的这个listview,不同在于,添加了侧边栏,显示字母顺序排序的。(参考这个http://blog.csdn.net/xiaanming/article/details/12684155)
两个listview都支持侧滑,显示“删除”按钮的功能。(参考的这个http://blog.csdn.net/jasonkent27/article/details/40826881)
@SuppressLint("NewApi")
public void updateBackground(int position, View view) {
int backgroundId;
if (mListView.isItemChecked(position)) {
backgroundId = R.drawable.list_selected_holo_light;
} else {
backgroundId = R.drawable.conversation_item_background_read;
}
Drawable background = mContext.getResources().getDrawable(backgroundId);
view.setBackground(background);
// float x = 0.0f;
// if (mListView.isItemChecked(position)) {
//
// x = 0.1f;
//
// } else {
// x = 1.0f;
// }
// view.setAlpha(x);
}
调试时,两个listview的updateBackground代码,都确认是执行到这里的。不然,改透明,也不可能实现,是吧。
其他都完成了, 现在就是在共时间调试这个问题,但仍然没有找到头绪。
这两个listview是分别在不同的activity中的。
不能改变颜色的这个listview,不同在于,添加了侧边栏,显示字母顺序排序的。(参考这个http://blog.csdn.net/xiaanming/article/details/12684155)
两个listview都支持侧滑,显示“删除”按钮的功能。(参考的这个http://blog.csdn.net/jasonkent27/article/details/40826881)
@SuppressLint("NewApi")
public void updateBackground(int position, View view) {
int backgroundId;
if (mListView.isItemChecked(position)) {
backgroundId = R.drawable.list_selected_holo_light;
} else {
backgroundId = R.drawable.conversation_item_background_read;
}
Drawable background = mContext.getResources().getDrawable(backgroundId);
view.setBackground(background);
// float x = 0.0f;
// if (mListView.isItemChecked(position)) {
//
// x = 0.1f;
//
// } else {
// x = 1.0f;
// }
// view.setAlpha(x);
}