2

我知道已经问过类似的问题,但是我在从键盘获取十进制数字时遇到了一些麻烦。

我在 onCreate 方法中的 Java 代码应该是:

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)
    {
        //how should I get here the number from keyboard?
        //I think  I should be something like
        //double S0=textS0.getText()....
    }
});

这就是我的 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" />
</LinearLayout>
4

3 回答 3

9

只需这样做:

double S0 = Double.parseDouble(textS0.getText().toString());
于 2013-05-12T11:20:43.047 回答
2
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());
}
});
于 2013-05-12T11:20:12.223 回答
0

可能你在字符串中遇到空指针异常,所以试试这个....

  1. 使用此从edittext获取数字小数

       Double BText=ParseDouble(String.valueOf(edittext.getText()));
    
  2. 之后粘贴此代码..它可以防止您出现空指针异常

    double ParseDouble(String strNumber) {
    if (strNumber != null && strNumber.length() > 0) {
        try {
            return Double.parseDouble(strNumber);
        } catch(Exception e) {
            return -1;
        }
    }
    else return 0;
    }
    
于 2017-04-03T08:34:57.753 回答