2017-02-22 34 views
0

我正在開發一個ATM android應用程序,每當應用程序打開它崩潰。 這裏是我的代碼:Atm android應用程序

public class MainActivity extends AppCompatActivity { 
    TextView balanceText; 
    EditText input; 
    Button withdrawButton; 
    int balance = 0; 
    @Override 
     protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     //Create the random number 
     Random number = new Random(); 
     int balance = number.nextInt(10000); 
     //Initialize the variables 
     balanceText = (TextView)findViewById(R.id.balanceText); 
     input = (EditText)findViewById(R.id.input); 
     withdrawButton = (Button)findViewById(R.id.withdrawButton); 
     do { 
      balanceText.setText(balance); 
     } while (balance > 0); 
    } 
    public void withdraw(View view) { 
     try { 
      String text = input.getText().toString(); 
      int withdrawal = Integer.parseInt(text); 
      balance = balance - withdrawal; 
      if (withdrawal > balance) { 
       balanceText.setText("Insufficient funds"); 
      } 
     } 
     catch (Exception e) { 
      balanceText.setText("Something went wrong"); 
     } 
    } 
} 

注:我不模擬器上進行朗姆酒,所以我不知道我得到什麼異常或錯誤做。

+0

請發表您的崩潰日誌,否則它是不可能告訴什麼導致了問題。謝謝 –

+0

如果您正在設備上運行,請向我們展示logcat。請參閱:[不幸的是,MyApp已停止。我怎樣才能解決這個問題?](http://stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this) –

+1

你做雖然看起來像它會阻止主線程永遠......不是一件好事 –

回答

0
  1. 我不知道循環是什麼。尋找我,彷彿永遠運行,因爲平衡不會改變。 onCreate的方法不應該花太長的時間。我會在這裏刪除循環並直接用新值撤銷balanceText。
  2. 如果數字沒有字符串資源ID,setText(int)將會崩潰。您可能的意思是:balanceText.setText(String.valueOf(balance));

你在的onCreate循環:

do { 
    balanceText.setText(balance); 
} while (balance > 0);