[英]Getting a decimal number from EditText on Android Studio
編輯:解決了!
我知道之前已經發布了這個,但我從那些看到的答案對我不起作用。
我正在嘗試從一個文本字段(我已指定為十進制輸入)獲取輸入,但除了toString之外,不能想到任何其他方式來獲取它的值。
我在下面崩潰和錯誤日志說
java.lang.IllegalStateException:無法執行活動的方法
public void buttonOnClick(View v){
// do something when the button is clicked
Double inputNum;
TextView mField = (TextView) findViewById(R.id.mField);
TextView kmField = (TextView) findViewById(R.id.kmField);
if(mField.length() > 0){
inputNum = ( Double.valueOf(kmField.getText().toString()) )/ 0.62137;
mField.setText(inputNum.toString());
}
}
java.lang.IllegalStateException:無法執行活動的方法
出現此問題的可能原因是kmField.getText().toString()
返回null。 所以請在這里為kmField進行一些驗證
public void buttonOnClick(View v){
// do something when the button is clicked
Double inputNum;
TextView mField = (TextView) findViewById(R.id.mField);
TextView kmField = (TextView) findViewById(R.id.kmField);
if(kmField.getText().toString().isEmpty()){
inputNum = ( Double.valueOf(kmField.getText().toString()) )/ 0.62137;
mField.setText(inputNum.toString());
}
}
xml文件:
<EditText
android:id="@+id/editS0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/S0"
android:inputType="numberDecimal" />
<Button
android:id="@+id/getS0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/setS0" />
在你的java文件中:
EditText textS0 = (EditText)findViewById(R.id.editS0);
Button btn_S0 = (Button)findViewById(R.id.getS0);
btn_S0.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
double S0 = Double.parseDouble(textS0.getText().toString());
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.