Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 回收和#x435;vi和x435;w backgr和#x43E;und colо;r nо;t wо;rk_Java_Android_Android Recyclerview - Fatal编程技术网

Java 回收和#x435;vi和x435;w backgr和#x43E;und colо;r nо;t wо;rk

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

我坚持做下一件事

当我在我的设备上设置背景色(例如橙色)时,我会得到另一个(紫色)。下面的图片。命令setBackground这是最后一个命令,如果我删除它,则颜色保持为主(在我的示例中,它是白色)

我需要从adapter类动态更改颜色,所以从xml设置背景是没有帮助的

我检查了样式、颜色和xml文件,但没有给出任何信息。也许有人坚持了下来,或者有什么办法解决它

谢谢大家

通过xml实现

        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));