`
sdkongkong
  • 浏览: 39302 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

给listview的item设置背景颜色--工作中遇到什么难题,怎么解决的

 
阅读更多
昨天准备把2个activity通过fragment继承到一个里面, 左边的fragment是一个listview,右边的是左边某个项目的详细信息。

遇到的问题是当点击昨天某一个listview的时候把背景设置成高亮或者改变背景颜色, google提供的fragment例子上是有个这个功能的。但是当我移植到自己的项目里时,该功能一直不起作用。上网查了一下,实现方法跟我的一样,就是使用setItemChecked.

于是我就重新阅读了google的示例代码,发现他使用的是ArrayAdapter,我用的是BaseAdapter,查了资料发现这2个类区别不大,就是多一个filter接口 , 于是把我的BaseAdapter实现了filter接口,还是不起作用。 

于是我仔细查了ArrayAdapter的资料,发现简单版只有一个EditText控件,发现该控件实现了checkable接口。 于是上网搜Listview和checkable ,果然发现很多资料。

于是自定一个一个RelativeLayout类 ,实现checkable接口, 再把布局文件改成自定已的RelativeLayout类, 终于实现了更改listview的某一项的背景颜色。

关键代码只有几句
public void setChecked(boolean checked) {
if(checked){
this.setBackgroundColor(Color.GREEN);
refreshDrawableState();
}else{
this.setBackgroundColor(Color.TRANSPARENT);
refreshDrawableState();
}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics