0

私のアプリの他のすべては機能しますが、追加すると

public void onClickRandomColor(View v) {
        Random rRed = null;
        Random rGreen = null;
        Random rBlue = null;
        int min = 0, max = 255;
        int randomRed = rRed.nextInt(max - min + 1) + min;
        int randomGreen = rGreen.nextInt(max - min + 1) + min;
        int randomBlue = rBlue.nextInt(max - min + 1) + min;
        Rset = randomRed;
        Gset = randomGreen;
        Bset = randomBlue;
    }

MainActivity.javaに、ONCLICK行をactivity_main.xmlに

<Button
        android:id="@+id/btnRandom"
        android:layout_below="@+id/btnChoose"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:onClick="onClickRandomColor"
        android:text="@string/random"/>

彼女は私を強制的に閉じます。他にもたくさんのコントロールがあり、スライダーはRset、Gset、Bsetをうまく使用します。それはランダムな整数を取得する私の方法と何かでなければなりません。

4

2 に答える 2

1
  1. new Random()nullを割り当てる代わりに、を使用してランダムオブジェクトを作成する必要があります。nullでは何も呼び出せません。オブジェクトを作成する必要があります。
  2. 3つの異なるランダムオブジェクトを使用しても意味がありません。1つのオブジェクトから無限の数のランダムな数字を取得できます。

修正されたコードは次のようになります。

public void onClickRandomColor(View v) {
    Random rnd = new Random();
    int min = 0, max = 255;
    int randomRed = rnd.nextInt(max - min + 1) + min;
    int randomGreen = rnd.nextInt(max - min + 1) + min;
    int randomBlue = rnd.nextInt(max - min + 1) + min;
    Rset = randomRed;
    Gset = randomGreen;
    Bset = randomBlue;
}
于 2012-09-21T23:14:14.807 に答える
1

nullとして初期化されるランダムを作成しています。

それらをに変更しますRandom rRed = new Random();

基本的にnull.nextInt()を実行しようとしていますが、これは明らかに機能しません。

うまくいけば、これが役立ちます!

乾杯!

于 2012-09-21T23:16:28.083 に答える