0

我正在尝试为 cwac 混色器(https://github.com/commonsguy/cwac-colormixer)实现获取颜色方法,但是每次运行此代码时,我都会得到NullPointerException

int color = 1;

public void openColor(){
ColorMixer mixer = (ColorMixer)findViewById(R.id.mixer);
  if (color!=1){
    mixer.setColor(color);
  }
  color = mixer.getColor();
}

color = mixer.getColor(); 是崩溃的线。

4

2 回答 2

1

我以前从未使用过这个 Commonsware 组件,但从查看源代码看来,您需要做的就是设置一个侦听器/回调。此机制将允许您收到有关颜色选择的任何更改的通知。

首先,让您的类实现以下侦听器接口:

public interface OnColorChangedListener {
    public void onColorChange(int argb);
}

然后使用以下方法在 ColorMixer 上设置侦听器:

public void setOnColorChangedListener(OnColorChangedListener listener) {
    this.listener=listener;
}

如果你全部内联,它看起来有点像这样:

mixer.setOnColorChangeListener(new ColorMixer.OnColorChangeListener() {
    @Override public void onColorChange(int argb) {
        //... get the color here; e.g.
        color = argb;
    }
});
于 2012-07-02T19:33:24.570 回答
0

谢谢 luksprog - 结果它崩溃了,因为我试图在弹出窗口中运行 openColor 方法,而我需要做的不是使用单独的方法,而是输入我的弹出窗口的名称(参见Android :弹出和关闭按钮不起作用

于 2012-07-03T17:09:40.477 回答