直接在xml中设置选中状态的背景。
listview不能获取未显示的item,因为item是动态加载的,共用的可显示的item view。
listview不能获取未显示的item,因为item是动态加载的,共用的可显示的item view。
解决方案 »
- 怎么修改桌面图标的圆角度
- Android src文件夹中的java类用怎样的文件夹去组织比较好?你们是用怎样的设计模式去分层到底?
- Android 系统横竖屏(屏幕旋转)代码如何实现?
- 如何做出淘宝中搜索宝贝之后显示搜索结果的效果?
- 关于同分辨率平板显示问题
- Android1.5版本的getNeighboringCellInfo函数是不是有问题呀?总是返回空!
- 兄弟们,我想一开机就启动一个service 如何实现啊?
- Android Activity继承问题
- 一个诡异的anroid中listView适配器问题
- Viewpager 和SwipeRefreshLayout一起使用的空指针bug
- 我想开始学习Linux网络编程和android开发,希望大家给点指点!
- 请问我的Android手机怎么显示IP地址不正确?
<item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/listitem_bgimg_selected" />
<item android:state_pressed="true" android:drawable="@drawable/listitem_bgimg_selected" />
<item android:drawable="@drawable/listitem_bgimg" />
</selector>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:drawable="@drawable/pink" /> //获得焦点变背景
<item android:state_selected="true"
android:drawable="@drawable/pink" /> //选中变背景
<item android:state_pressed="true"
android:drawable="@drawable/pink" /> //点击变背景
<item android:drawable="@drawable/white"/> //默认背景
</selector>
如果单单只是要某个子View的话只需要拿到ListView的子View
View view = listview.getChildAt(position);
然后就可以单独拿到具体的某个小组件
(Button)view.findViewById(R.id.XX);
然后在Handle中做处理就可以了
你将上面的这个文件命名为item_selected.xml
只要你想让哪个变化,那么就将他的background="@drawable/item_selected"
有两种方法一个就是单独从View操作,靠listview.getChildAt(int position):
还有就是修改数据源,如果你adapter的基础扎实的话比较容易,这块我刚做完,特效比这个麻烦些
这个我知道,我建议你不要用这个方法,涉及缓存。
显现的瞬间才调用adapter里面的getview方法,否则不创建
但是你通过修改adapter里面的数据可以实现你的效果,我做成功了的。
修改List里的数据
你把你的工程文件发到[email protected]
我帮你改或者给你建议写注释告诉你,adapter需要掌握的还是很多的...
View view = listView.findViewWithTag(tag);
if (view != null)改变背景?
}这样可以吗? 我半桶水不知道这样行不行=,=