当我点击它们时,我尝试为 TextView 设置背景。但是当我点击全局布局时,所有 TextView 都会改变背景。
我在 ListView 中用作项目的布局文件,当我单击此列表中的项目时,所有 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>
更改_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:抱歉我的英语不好,我是法国人 =)
最佳答案
带有 textView 的整个布局就是您的 listView 项目?
如果是这样,我认为当您单击 listItem 时,ListView 会将您的所有 textView 设置为聚焦状态。尝试更改 xml 文件中的颜色,并调试发生的情况。
我从来没有经历过这样的事情:/
关于android - 单击布局会导致所有 TextView 更改颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7204483/