我的应用中的其他所有内容都有效,但是当我添加
时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就好了。它必须与我获取随机整数的方法有关。
答案 0 :(得分:1)
new Random()
创建Random对象,而不是指定null。你不能在null上调用任何东西,你必须创建对象。您更正后的代码如下所示:
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;
}
答案 1 :(得分:1)
您正在创建初始化为null的Random。
将其更改为Random rRed = new Random();
你基本上是想做null.nextInt(),这显然不会起作用。
希望这有帮助!
干杯!