首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

有关listview点击变色的有关问题

2012-12-15 
有关listview点击变色的问题我的listview点击后弹出popupwindow,现在点击后已经可以使点击的item保持住变

有关listview点击变色的问题
我的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);

}
});



希望各位能帮忙看一下,感谢!
[最优解释]
一般在Adapter的getview里面处理吧  你可以设个变量  当触发监听的时候改变变量值  然后刷新listview
[其他解释]
引用:
引用:
一般在Adapter的getview里面处理吧  你可以设个变量  当触发监听的时候改变变量值  然后刷新listview

我是用的CursorAdapter,我试试改一下吧


Lz可以考虑给该lv添加一个setOnFocusChangeListener方法来处理
[其他解释]
引用:
一般在Adapter的getview里面处理吧  你可以设个变量  当触发监听的时候改变变量值  然后刷新listview


我是用的CursorAdapter,我试试改一下吧
[其他解释]
引用:
引用:引用:
一般在Adapter的getview里面处理吧  你可以设个变量  当触发监听的时候改变变量值  然后刷新listview

我是用的CursorAdapter,我试试改一下吧

Lz可以考虑给该lv添加一个setOnFocusChangeListener方法来处理
      ……



这个不行呢,刚才试了一下,只有在第一次显示才调用这个方法了,不过也谢谢了,我还在调试各种方法

[其他解释]
引用:
引用:引用:
一般在Adapter的getview里面处理吧  你可以设个变量  当触发监听的时候改变变量值  然后刷新listview

我是用的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;

}


这方法有个缺点,就是需要再次点击时才会改变,这个还需要看看,谢谢啦
[其他解释]
引用:
一般在Adapter的getview里面处理吧  你可以设个变量  当触发监听的时候改变变量值  然后刷新listview


做出来了,不过是用的另外的方法
/**
 * 改变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;

}



这方法有个缺点,就是需要再次点击时才会改变,这个还需要看看,谢谢啦

热点排行
Bad Request.