Java 回收和#x435;vi和x435;w backgr和#x43E;und colо;r nо;t wо;rk
我坚持做下一件事 当我在我的设备上设置背景色(例如橙色)时,我会得到另一个(紫色)。下面的图片。命令setBackground这是最后一个命令,如果我删除它,则颜色保持为主(在我的示例中,它是白色) 我需要从adapter类动态更改颜色,所以从xml设置背景是没有帮助的 我检查了样式、颜色和xml文件,但没有给出任何信息。也许有人坚持了下来,或者有什么办法解决它 谢谢大家 通过xml实现Java 回收和#x435;vi和x435;w backgr和#x43E;und colо;r nо;t wо;rk,java,android,android-recyclerview,Java,Android,Android Recyclerview,我坚持做下一件事 当我在我的设备上设置背景色(例如橙色)时,我会得到另一个(紫色)。下面的图片。命令setBackground这是最后一个命令,如果我删除它,则颜色保持为主(在我的示例中,它是白色) 我需要从adapter类动态更改颜色,所以从xml设置背景是没有帮助的 我检查了样式、颜色和xml文件,但没有给出任何信息。也许有人坚持了下来,或者有什么办法解决它 谢谢大家 通过xml实现 android:background="@color/paymentBac
android:background="@color/paymentBackground"
您应该传入一个已解析的颜色(Android Studio应该)。
R.
中的值是int值,当您将它们直接传递给setBackgroundColor()
时,该int值被解析为颜色,但并不表示实际颜色,因为这只是一个资源ID。请按照我屏幕截图中的警告执行
Resources res = holder.parentLayout.getResources();
holder.parentLayout.setBackgroundColor(res.getColor(R.color.paymentBackground));
或
您好,谢谢,但这不是解决方案,我需要从适配器类动态更改颜色。您可以添加适配器布局的xml吗?是的,现在我正在上载它
holder.parentLayout
,parentLayout
所指内容,粘贴在ViewHolder类中初始化的特定parentLayout的xml。我在parentLayout放置的位置添加了带有parentLayout和xml的ViewHolder。谢谢您的解释,我不知道。当我用ContextCompat更改颜色时,它就开始工作了。谢谢。很高兴我能帮上忙
Context context = holder.parentLayout.getContext();
holder.parentLayout.setBackgroundColor(ContextCompat.getColor(context, R.color.paymentBackground));