android中selector在java代码中使用无效的解决方案

原创 2016年05月30日 20:13:56
最近在做项目,有些按钮图片需要设置不同的状态且对应不同的icon。在此过程中遇到了一些问题。

~在用到TextView时,要设置它的文字颜色和drawableleft图片在不同的status下的情况,此时用到selector。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="#d6d6d6"></item>
<item android:state_enabled="true" android:color="@color/color_blue_618dbe"></item>
</selector>

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_addnewgrop_unenable" android:state_enabled="false" />
<item android:drawable="@drawable/icon_addnewgroup" />
</selector>
以上是字体颜色和对应状态的图片selector。在使用的时候,放在xml中
android:textColor=“@drawable/sssss”
android:  drawableleft=“@drawable/sssss”
在java类里面用setEnable()方法来直接控制对应的状态显示。
遇到的问题:
在java给textview的文字设置selector时无效具体代码是:
tv.setTextColor(getResource().getColor(R.color.selector));
使用这行代码后在用setEnable来改变状态后显示无效。
后来查找了原因,在xml中使用selector,系统会自动转换成colorstatelist.而在java代码中需要使用
tv.setTextColor(getResources().getColorStateList(R.color.selector_color_ffffff_d6d6d6));然后问题解决bingo
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

给TextView,RelativeLayout 设置selector不起作用的原因总结

1、由于TextView,RelativeLayout(LinearLayout) 默认不具备可点击性的,要让background的selector 起作用有两种方法:                ...
  • nnmmbb
  • nnmmbb
  • 2015-08-19 11:25
  • 4027

Android drawable selector 设置无效

今天写代码时,需要设置一个TextView 的点击效果,press 状态和normal 状态两个icon,同时,点击区域背景在press状态下也不同。实现时将TextView 放在RelativeLa...

android Viewpager 动态添加载滑动

此demo实现在添加动态添加View按钮时给ViewPager动态添加一个页面 实现方式比较简单 如果想滑动动态添加 在OnPageChangedListener里面实现 实现方式雷同  好了废话就不...

浅谈一下大数相乘有关思路(图解)与用java代码具体解决方案

这两天,Java老师让我们用Java语言写一个关于大数(即超出java关键字,如long等表示的范围之外的整数)加减乘运算的小程序。 至于加减运算就在这就不说了,一般的Java实验指导书上都有相关代码...

java代码规范问题及解决方案

java代码规范问题总结 1.没有总是检查ResultSet结果对象 解决方案是通过if判断ResultSet结果是有有元素,常用条件是ResultSet结果的next,previous,fi...

redis(三)--Java代码-telnet可以连接成功但是出现Connect timeout问题-解决方案

引言 我之前在网上收集一些资料,关于Redis的java代码,在自己的电脑上运行的时候,出现了这样的问题,就是Connect timeout,连接超时的问题。 首先我们遇到Redi...

浅谈一下大数相除有关思路(图解)与用java代码具体解决方案

浅谈一下大数相除有关思路(图解)与用java代码具体解决方案         PS:接上篇大数相乘博客。两数的正负情况在这就不谈了,只要加一个标记就可以了。此文阅读前提:需在解决了大数相加减和大数相乘...

java代码中实现android背景选择的selector-StateListDrawable的应用

下面的代码应该很多人都熟悉: 这是一个给button使用的背景选择,这种不同状态显示不同背景的xml文件我们称为selector。其实selecto...

非管理员权限,cmd输入java有效,输入javac无效解决方案

javac不是内部命令错误

Java异常: "2 字节的 UTF-8 序列的字节 2 无效。"的解决方案

在启动Tomcat时, 出现以下的异常: 七月 13, 2017 6:49:42 下午 org.apache.catalina.core.AprLifecycleListener init 信息: L...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)