一个有趣的关于setBackgroundColor问题


布局中两个TextView 公用一个

style="@style/list_no_ver"

style的配置为

<style name="list_no_ver">


<item name="android:textSize">@dimen/sp35</item>    <-- 字体小小 -->

<item name="android:textColor">@color/white</item>    <-- 字体颜色白色 -->
    <item name="android:background">@color/yellow</item>     <-- 背景色黄色 -->  
</style>

在Activity中 判断

//第一个判断
if(!"网络获取的字符串".
equals("无版本")){
  mTextView1.setBackgroundColor(
Color.BLUE);        <--给TextView1 控件设置背景颜色-->
}

//第二个判断
if(!"网络获取的字符串".
equals("无版本")){
  mTextView2.setBackgroundColor(
Color.RED);        <--给TextView2 控件设置背景颜色-->
}
从上面这些代码可以知道没有哪里有错误的。
只是结果让我好奇。当第二个TextView2并没有执行时(可以理解成注释!!!)。但是第二个控件就莫名的跟着变色了(第一次没变,第二次变了,第三次又恢复了正常。。。。。。)!!且背景颜色变成了第一个TextView1控件设置的背景色!!(
Color.BLUE)

也许有人没看懂!!那我就这样说吧:
(同理)在Activity中 判断

//第一个判断
if(!"网络获取的字符串".
equals("无版本")){
  mTextView1.setBackgroundColor(
Color.BLUE);        <--给TextView1 控件设置背景颜色-->
}

//第二个判断
/* if(!"网络获取的字符串".
equals("无版本")){
   mTextView2.setBackgroundColor(
Color.RED);        <--给TextView2 控件设置背景颜色-->
} */
我把第二个注释掉,是不是应该不会更改背景色?但是它却变了。而且奇数正常偶数次时改变。

处于好奇把这一发现贴在上面,有哪位大神能帮小弟解答疑惑。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM