0
我正在做一個簡單的「猜數字應用程序」。應用程序在onCreate()方法啓動時會生成一個隨機數。在按鈕點擊的方法我寫了一個代碼,這樣用戶將輸入一個數字,如果數字是正確的,該程序應該再次生成一個隨機數。我們可以從另一個函數調用OnCreate()方法
但是,當我嘗試再次從我的按鈕的onClick方法調用onCreate()方法時,我得到系統崩潰。你能幫我解決如何從函數調用onCreate方法嗎?我在下面發佈我的代碼。
package com.amit.higherolower;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
int randomNumber;
public void guessGame(View view){
String message = "";
EditText userNumber = (EditText) findViewById(R.id.numberEditBox);
String userNumberText = userNumber.getText().toString();
int userNumberInt = Integer.parseInt(userNumberText);
System.out.println(randomNumber);
if(userNumberInt < randomNumber){
message = "You've Guessed Lower";
((EditText) findViewById(R.id.numberEditBox)).setText("");
}
else if (userNumberInt > randomNumber){
message = "You've Guessed Higher";
((EditText) findViewById(R.id.numberEditBox)).setText("");
}
else{
message = "You're Right Dude, Now let's guess the new number again.";
onCreate(new Bundle());
}
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Random randomGenerator = new Random();
randomNumber = randomGenerator.nextInt(9);
}
}
剛剛創建的另一種方法,把你的'隨機randomGenerator =新的隨機();'和'randomNumber = randomGenerator.nextInt (9);'在裏面。並調用該方法。 – Umarov
@Umarov作爲回答,我也認爲這是最好的解決方案 – koceeng