2 vvangstrong VVangStrong 于 2016.03.13 13:57 提问

android,Listview中item点击变色冲突

图片说明
我想要像微博一样,当点击评论、转发、赞3个按钮的时候,只有按钮变色。
点击其他地方时,整个item都变色。

然后我为最外层的布局和“评论、点赞、转发”3个按钮的布局都设置了selector,但结果是无论点击item的哪个地方,都是整个布局都变色。怎么修改都不行,不知是哪里出了问题

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/gray"></item>

    <item android:drawable="@color/white"></item>
</selector>

3个回答

huangf321123
huangf321123   2016.03.14 10:39

在你适配器中的xml加上android:descendantFocusability="blocksDescendants"这句

lxk_1993
lxk_1993   Rxr 2016.03.18 08:28

android:descendantFocusability

Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.

Must be one of the following constant values.

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

属性的值有三种:

    beforeDescendants:viewgroup会优先其子类控件而获取到焦点

    afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

    blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
u013791878
u013791878   2016.07.01 23:45

可以查一下,listview单点刷新,现在用的是手机无法给你贴代码

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android之listview点击item当前item变色其他不变
listview点击item当前item变色其他不变
Android ListView 点击Item的时候,改变文字颜色和背景色
效果图如下: list.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientati
ListView点击Item以后背景变色且不变
Android中ListView中没有默认的选择颜色,只有选择item后的焦点颜色,点击时item有颜色,放开后颜色也就没有了,以下实现放开后选择项的背景还是有颜色的。
android listView 点击Item的时候,改变文字颜色和背景色
代码 list.xml [java] view plaincopy "1.0" encoding="utf-8"?>   "http://schemas.android.com/apk/res/android"       android:layout_width="fill_parent"       android:layout_
实现listview条目点击后改变item背景颜色和字体颜色并保留
先上效果图。 其实实现是很简单的在item的布局中设置背景颜色选择器,当item被选中时就会改变背景颜色 字体颜色在listview的adapter这种进行设置,定义标记记录当前被点击的item,分别设置字体颜色 还有一个要注意的细节是,当进入该页面是就要实现第一个条目被点击的效果,就可以设置变量值,该值记录的是默认要被点击的条目,同时在其他条目被点击的时候改变这个变量 说了这么多还是直接上代码吧
android中listview点击item不变色的问题
问题:点击listview的item没有变色 原因:因为设置了item的布局背景色,所以系统默认的点击变色效果就没有了 解决:不要设置item的布局背景色,若应用主题为黑色,则listview显示为黑色,此时只需要设置listview的背景色即可,不需要设置item的布局背景色。
Android 点击ListView(或GridView)的一个item,使其里面textview变色,点击另一个这个恢复原来颜色
Android 点击ListView(或GridView)的一个item,使其里面textview变色,点击另一个这个恢复原来颜色
ListView的点击变色
我做了一个音乐播放器,其中用ListView显示歌曲列表,当我点击某一首歌时,希望这首歌所在的item的背景颜色改变,以突出显示所选择的歌曲。    首先我想到的是在ItemClickListener里面写,如下:    private View formerView=null; private class ListViewClickListener implem
ListView中TextView和item背景点击改变颜色
//listView 或者其他view中TextView点击改变颜色,并且默认第一个被点击, public final class MainActivity extends Activity { private GridView gridView; private ArrayList numberList=new ArrayList();; public void onC
android如何改变listview中item选中时文字的颜色
当listview的某个item选中时,默认有个选中的高亮显示,如果你要自定义选中时的高亮显示效果,可以在listview中设置属性 1 android:listSelector="@drawable/item_selector"    其中item_selector是在drawable目录下定义的一个xml文件,这