gpt4 book ai didi

android - 如何解决 GradientDrawable cannot be cast to ColorDrawable 问题?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:26:24 26 4
gpt4 key购买 nike

我有一个代码 fragment 可以在下面向您展示,我正在尝试更改 View 的 (v) 背景。我将从 TextView(拖动)中获取颜色代码,并使用此代码更改 View(v) 的背景。但是我得到一个错误,如上所述。我该如何解决?问题出在哪里?谢谢。

ColorDrawable cd = (ColorDrawable)dragged.getBackground();
int colorCode = cd.getColor();
v.setBackgroundColor(colorCode);

最佳答案

如果您只想将一个 View 的背景分配给另一个 View 而不仅仅是颜色,您可以使用以下代码

Drawable drawable = dragged.getBackground();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
v.setBackgroundDrawable(drawable );
}else{
v.setBackground(drawable);
}

但是,如果您只想获得颜色,则必须提前确定分配给 View 的可绘制对象类型。然后使用instanceof来处理如何获取相应drawable的背景颜色。

关于android - 如何解决 GradientDrawable cannot be cast to ColorDrawable 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21879995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com