0

cwac カラー ミキサー ( https://github.com/commonsguy/cwac-colormixer ) の get color メソッドを実装しようとしていますが、このコードを実行するたびに次のようになります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を参照)。 : popUp と閉じるボタンが機能しません)

于 2012-07-03T17:09:40.477 に答える