我开发了一个应用程序,一切都在我的s7和其他设备上运行良好,但我在运行4.4 kitkat的旧版本上进行了测试,当应用程序比较按钮时颜色,在4.4中,它不起作用。
这是我正在使用的代码:
for (Button btn : selectorArrayList) {
final Button button = btn;
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*
Check if button color is white or red
if white, turn red and activate the
selector (category) and if it's red
turn white and deactivate the selector
category)
*/
// I've set the background in the XML Layout as R.color.white
Drawable pd = (Drawable) button.getBackground();
if (pd.getConstantState().equals(ContextCompat.getDrawable(getContext(), R.color.white).getConstantState())) {
...
在这个操作系统的新版本上,它决定了状态是平等的,而在4.4(未尝试过其他版本)它们不是。
有人知道我在这里做错了什么吗?谢谢。
答案 0 :(得分:0)
试试这个,应该有效:
if (pd.getConstantState().equals(new ColorDrawable(R.color.white).getConstantState()))