gpt4 book ai didi

android - 意外转换为 AppCompatButton : layout tag was Button

转载 作者:行者123 更新时间:2023-11-29 15:45:46 24 4
gpt4 key购买 nike

来自 AppCompatButton引用页:

This will automatically be used when you use Button in your layouts. You should only need to manually use this class when writing custom views.

我将普通的 Button 转换为 AppCompatButton,这样我就可以使用 setSupportBackgroundTintList 方法:

AppCompatButton button = (AppCompatButton) findViewById(R.id.normalButton);
button.setSupportBackgroundTintList(ColorStateList.valueOf(tintColor));

它可以毫无问题地构建和运行,但是 Android Studio 1.4 在类型转换线上给我带来了烦人的红色高亮显示:

Unexpected cast to AppCompatButton: layout tag was Button

有什么想法吗?

最佳答案

它看起来像是 IDE 类型检查中的错误 - Button 是 AppCompatButton 的直接祖先,因此转换为 AppCompatButton 应该没问题。我相信你可以安全地这样调用它:

Button button = (Button) findViewById(R.id.normalButton);
((AppCompatButton)button).setSupportBackgroundTintList(ColorStateList.valueOf(tintColor));

或更好

((TintableBackgroundView)button).setSupportBackgroundTintList(ColorStateList.valueOf(tintColor));

如果您使用 Butterknife,一切都会按预期工作,没有任何警告:

@Bind(R.id.normalButton)
AppCompatButton button;

关于android - 意外转换为 AppCompatButton : layout tag was Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33495164/

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