我正在嘗試編寫我的第一個Android應用。它將採用用戶在EditText字段中輸入的數字,將其轉換爲整數,然後查找這些因素。我想從我之前編寫的Java程序中移植它。我有存根工作的點,我有一個用戶界面,但我還沒有移植將查找因素的代碼。我試圖將EditText轉換爲整數。如果我插入以下任一行,則該程序在仿真器中崩潰。 Log.Cat說,「由NumberFormatExcepion引起:無法解析」作爲一個整數。「第一個Android應用 - 無法將EditText轉換爲整數值
任何建議表示讚賞。
userNumber是從EditText字段獲取的值的名稱,EditText字段也被命名爲userNumber。我不知道這是不是好的形式。我想將userNumber的值分配給整數值userInt。 userInt將被分解。
這些approaces的要麼會導致此問題:
userNumber = (EditText) findViewById(R.id.userNumber);
userInt = Integer.parseInt(userNumber.getText().toString());
Integer userInt = new Integer(userNumber.getText().toString());
XML的EditText上塊看起來是這樣的:
<EditText
android:id="@+id/userNumber"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" >
<requestFocus />
</EditText>
這裏是從類的相關代碼:
public class AndroidFactoringActivity extends Activity {
// Instance Variables
EditText userNumber;
Button factorButton;
TextView resultsField;
int factorResults = 1;
int userInt = 0; // This comes out if using Integer userInt
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
resultsField = (TextView) findViewById(R.id.resultsField);
factorButton = (Button) findViewById(R.id.factorButton);
userNumber = (EditText) findViewById(R.id.userNumber);
// userNumber is also the name of the EditText field.
// userInt = Integer.parseInt(userNumber.getText().toString());
// Integer userInt = new Integer(userNumber.getText().toString());
resultsField.append("\n" + String.valueOf(userInt));
//Later, this will be factorResults, not userInt.
// Right now, I just want it to put something on the screen.
}
}
Ralgha,謝謝。 –
這工作。我很開心。 –