我在用SetColorFilter给一些按钮上色…代码如下:

    final Button falso = (Button) findViewById(R.id.falso);
    final Button vero = (Button) findViewById(R.id.vero);


    vero.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            vero.getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0x00FF0FF));
            falso.getBackground().clearColorFilter();
            esame.set("V");
        }
    });


    falso.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            falso.getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0x00FF0FF));
            vero.getBackground().clearColorFilter();
            esame.set("F");
        }
    });

当我点击“vero”按钮时,我想重置“falso”和“viceversa”的颜色。
我在android ics上试过这段代码,一切都很好,但当我在android 2.3上试过时,我有一个坏的惊喜。
当我点击按钮时,颜色没有重置,我不明白为什么。

最佳答案

我找到了解决办法:

use button.invalidate();

在我清除背景之后

10-08 06:23