怎么设置ListView 的选中了的Item的背景颜色?也就是说选中的为特殊的颜色,
其他的为黑色。我用的是simpleAdapter,在网上找了很多方法都没解决 ,要么就是如果Item多了的话就不行了,要么就是只是那种一瞬间的变色的,我要的效果是点击后颜色就改变,直到点击其他Item时变回原来的黑色,谢谢了,大侠们
其他的为黑色。我用的是simpleAdapter,在网上找了很多方法都没解决 ,要么就是如果Item多了的话就不行了,要么就是只是那种一瞬间的变色的,我要的效果是点击后颜色就改变,直到点击其他Item时变回原来的黑色,谢谢了,大侠们
解决方案 »
- 求助,程序报异常,有Logcat,有错误代码 java.lang.NoClassDefFoundError
- android 下 代码如何实现apk静态安装
- 把平板最下方的那行statusbar隐藏
- 求助,为什么我做了跟这个一样的列子,信息硬是报找不到我的javabean呢?
- 网络收音机
- 关于socket通信服务端的问题
- 请问 android已经工作朋友们一个问题
- 为什么我创建的安卓程序没有actionbar?
- 神器的Bad request
- 在eclipse中适配Android8.0,Android采用的是androidannootations不能自动生成apt_generated
- android gps location总是null
- 新手求助,安装环境出错
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@drawable/listitem_normal" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/listitem_highlight" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/listitem_highlight" />
<item android:state_selected="true" android:drawable="@drawable/listitem_normal" />
<item android:state_focused="true" android:drawable="@drawable/listitem_normal" />
</selector>
你设置一个变量,记录选中的positon,在绘制的时候,当position为你标记的position的时候,绘制一个颜色,其他的情况绘制另一种颜色,就可以了,不过,你要在onItemClicked里更新一下界面的。我资源里有的,连定位都实现了,lz去看看吧。呵呵。
代码如下:public PlayListAdapter(Context activ,ArrayList<MediaInfo> playlist,ListView listView){
mContext = activ;
mPlaylist = playlist;
mPlayListView = listView;
mActiv = (MediaReadActivity)activ;
mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mPlayListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){ @Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if(mPlaylist.get(position).getType().equals("netvideo")){
mActiv.playWebVideoWhenItemClick(mPlaylist.get(position),position);
}else{
mActiv.playMusicWhenItemClick(mPlaylist.get(position),position,true);
}
// if(mActiv.getListMode()==0x0001){
setSelectItem(position);
// }
notifyDataSetInvalidated();
}
});
}你在onItemClick中设置那个setSelectItem的值if(position==selectItem){
convertView.setBackgroundResource(R.drawable.playlist_selector);
}else{
convertView.setBackgroundDrawable(null);
}
return convertView;
Adapter的getView方法中 最后位置加上这几句;有一点最好用图片不要用颜色 用颜色会导致滚动时
有的item的背景变成你设置的颜色然后这个颜色又消失int selectItem = -1;
public void setSelectItem(int pos){
selectItem = pos ;
}
public int getSelectItem(){
return selectItem ;
}
所以最好还是自定义你的Adapter