簡體   English   中英

從Android Studio上的EditText獲取十進制數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM