2011-08-26 51 views
3

我尝试设置一个textview的背景,当我点击它们。但是当我点击全局布局时,所有textviews都会改变背景。点击一个布局导致所有的textview改变颜色

布局文件,我用作列表视图中的项目,当我点击此列表中的项目时,所有文本视图都会更改颜色(绿色)。

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" 
    android:layout_margin="3dip" 
    android:padding="6dip" 
    android:layout_width="fill_parent" 
    android:background="@drawable/lines" 
    android:orientation="vertical" 
    android:id="@+id/ll_main"> 

    <LinearLayout 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:layout_marginTop="4dip" 
     android:id="@+id/ll_content"> 

     <TextView 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      style="@style/VotePlus" 
      android:text="Plus" 
      android:id="@+id/tv_vote_plus" 
      android:background="@drawable/change_tv_bg"/> 
     <TextView 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      style="@style/VoteMinus" 
      android:text="Minus" 
      android:id="@+id/tv_vote_minus" 
      android:background="@drawable/change_tv_bg"/> 
    </LinearLayout> 

</LinearLayout> 

change_tv_bg内容

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:drawable="@color/green" /> <!-- focused --> 
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@color/green" /> <!-- focused and pressed--> 
    <item android:state_pressed="true" android:drawable="@color/green" /> <!-- pressed --> 
    <item android:drawable="@android:color/transparent" /> <!-- default --> 
</selector> 

有任何人遇到这个问题?

PS:对不起我的英文不好,我是法国人=)

回答

0

是整个布局与textViews是你的ListView项?

如果它那样,我认为当你点击listItem时,ListView将你所有的textView设置为关注状态。尝试改变你的XML文件中的颜色,并调试发生了什么。

我从来没有经历过类似的事情:/

+0

是LinearLayout id ll_main是ListView项目。我尝试了不同的参数作为state_pressed,聚焦(在选择器中)...和多种颜色,但每次我按这个全局布局所有孩子得到的状态按下为真,并集中为假(在选择器文件中)。我已尝试启用/禁用android:descendantFocusability,并启用/禁用android:duplicateParentState,以应用于我的listview mListView.setItemsCanFocus(false); ListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);但不起作用。 我变得疯狂:/ – Ahmet