我知道有类似的问题已经被问过了,但是我从键盘上得到十进制数字时遇到了一些麻烦。
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>
答案 0 :(得分:9)
这样做:
double S0 = Double.parseDouble(textS0.getText().toString());
答案 1 :(得分:1)
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());
}
});
答案 2 :(得分:0)
你可能在字符串中遇到空指针异常,所以试试这个....
使用此
从edittext获取十进制数 Double BText=ParseDouble(String.valueOf(edittext.getText()));
之后粘贴此代码..它会阻止您从空指针异常
double ParseDouble(String strNumber) {
if (strNumber != null && strNumber.length() > 0) {
try {
return Double.parseDouble(strNumber);
} catch(Exception e) {
return -1;
}
}
else return 0;
}