我是新來的Java和Android開發,所以我決定做一個簡單的應用程序,需要在兩個領域,並把它們放在一個簡單的數學公式。不過,我必須先將EditText轉換爲Int,然後才能對它們進行任何數學運算,對吧? 在XML文件中,我已經將EditTexts設置爲android:inputType =「number」。 我嘗試過這樣的:EditText到Int
final EditText height = (EditText) findViewById (R.id.height); String heightString = height.getText().toString(); final int heightInt = Integer.parseInt(heightString);
和
final EditText height = (EditText) findViewById (R.id.height); final int heightInt = Integer.parseInt(height.getText().toString());
我也試過Integer.valueOf在這兩種情況下,但它總是強制關閉我的應用程序,當我運行它,如果我註釋掉int heightInt它不強制關閉。
這裏是整個代碼:
包com.body.calculator;
import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Vibrator; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class bmi extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final TextView results = (TextView) findViewById(R.id.results); final EditText height = (EditText) findViewById (R.id.height); String heightString = height.getText().toString(); final int heightInt = Integer.parseInt(heightString); final EditText weight = (EditText) findViewById (R.id.weight); final Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); Button submit_bmi = (Button) findViewById(R.id.submit_bmi); submit_bmi.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (height.getText().toString().equals("") && weight.getText().toString().equals("")) { results.setText("Both fields are empty"); vib.vibrate(100); } else if (height.getText().toString().equals("")) { results.setText("Height is empty"); vib.vibrate(100); } else if (weight.getText().toString().equals("")) { results.setText("Weight is empty"); vib.vibrate(100); } else { results.setText(""); } } }); } }
任何幫助,將不勝感激。 謝謝,Arnar。的
final EditText height = (EditText) findViewById (R.id.height);
String heightString = height.getText().toString();
final int heightInt = Integer.parseInt(heightString);
謝謝,應該看到:/但是,現在當我按下提交按鈕,它強制關閉。 – granra 2012-01-06 18:54:06
我把代碼放在Try-Catch中,當edittexts爲空(如預期的那樣)時輸出「java.lang.NumberFormatException:無法解析''作爲整數',但是如果我把東西放入EditTexts。 – granra 2012-01-06 19:39:36
對於垃圾評論我很抱歉,但我設法找到什麼是力量現在關閉它。如果我設置results.setText(「no force-close」);結果變爲「沒有強制關閉」,但如果我設置results.setText(heightInt);我接近了一支部隊。可能是什麼問題呢? – granra 2012-01-06 20:45:50