我的listview点击后弹出popupwindow,现在点击后已经可以使点击的item保持住变色状态问题是希望点击popupwindow外面后可以让item的颜色变回初始的颜色,这个问题需要怎么来设置???
这是目前出现的效果,我是在onItemClick中设置的view背景色
// 点击显示
lv_patient.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
view.setBackgroundColor(getResources().getColor(R.color.blue));
Cursor cursor = (Cursor) mAdapter.getItem(position);
pid = cursor.getString(cursor.getColumnIndex("pid"));
pw.showAsDropDown(ll_patient, w / 3, h / 3);
}
});
希望各位能帮忙看一下,感谢!
这是目前出现的效果,我是在onItemClick中设置的view背景色
// 点击显示
lv_patient.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
view.setBackgroundColor(getResources().getColor(R.color.blue));
Cursor cursor = (Cursor) mAdapter.getItem(position);
pid = cursor.getString(cursor.getColumnIndex("pid"));
pw.showAsDropDown(ll_patient, w / 3, h / 3);
}
});
希望各位能帮忙看一下,感谢!
我是用的CursorAdapter,我试试改一下吧
Lz可以考虑给该lv添加一个setOnFocusChangeListener方法来处理
做出来了,不过是用的另外的方法
/**
* 改变listitem的背景色
*
* @param view
*/
private void itemBackChanged(View view) {
if (itemView == null) {
itemView = view;
}
itemView.setBackgroundColor(getResources().getColor(
android.R.color.transparent));
// 将上次点击的listitem的背景色设置成透明
view.setBackgroundResource(R.color.blue);
// 设置当前点击的listitem的背景色
itemView = view; }这方法有个缺点,就是需要再次点击时才会改变,这个还需要看看,谢谢啦
做出来了,不过是用的另外的方法
/**
* 改变listitem的背景色
*
* @param view
*/
private void itemBackChanged(View view) {
if (itemView == null) {
itemView = view;
}
itemView.setBackgroundColor(getResources().getColor(
android.R.color.transparent));
// 将上次点击的listitem的背景色设置成透明
view.setBackgroundResource(R.color.blue);
// 设置当前点击的listitem的背景色
itemView = view; }这方法有个缺点,就是需要再次点击时才会改变,这个还需要看看,谢谢啦