我无法将注意力集中在第一个edittext字段(下面的其他3个).Code是:
k1_e=(EditText)findViewById(R.id.k1_editText);
k1_e.requestFocusFromTouch();
try{
k1=Float.parseFloat(k1_e.getText().toString());
}catch(Exception e) {
Log.e("logtag", "Exception: " + e.toString());
}
k2_e=(EditText)findViewById(R.id.k2_editText);
try{
k2=Float.parseFloat(k2_e.getText().toString());
}catch(Exception e) {
Log.e("logtag", "Exception: " + e.toString());
}
al_e=(EditText)findViewById(R.id.al_editText);
try{
al=Float.parseFloat(al_e.getText().toString());
}catch(Exception e) {
Log.e("logtag", "Exception: " + e.toString());
}
alconst_e=(EditText)findViewById(R.id.al_const_editText);
try{
al_const=Float.parseFloat(alconst_e.getText().toString());
}catch(Exception e) {
Log.e("logtag", "Exception: " + e.toString());
}
当在模拟器上执行app时,它会自动将焦点设置为上一个edittext字段,并抛出异常:
12-29 08:10:05.241: E/logtag(769): Exception: java.lang.NumberFormatException: Invalid float: ""
12-29 08:10:05.261: E/logtag(769): Exception: java.lang.NumberFormatException: Invalid float: ""
12-29 08:10:05.261: E/logtag(769): Exception: java.lang.NumberFormatException: Invalid float: ""
12-29 08:10:05.271: E/logtag(769): Exception: java.lang.NumberFormatException: Invalid float: ""
错误是什么。我是一名初学者帮助
答案 0 :(得分:1)
你的k1_e.getText()。toString()返回String
,它无法转换Float
为所有人试试这个:
这样做,制作
int flag = 0;
gobal给你的班级。
当你第一次执行getview时,将标志设为1;
喜欢这样:
int flag = 0;
getView()
{
if(flag == 0)
{
k1_e.requestFocusFromTouch();flag = 1;
}
string abc = k1_e.getText().toString()
if(abc != null && !abc.equals(""))
{
k1=Float.parseFloat(k1_e.getText().toString());
}
else
{
k1 = 0.0;
}
}