检查 editText 是否为空。如果还有 Android
check if the editText is empty. if else Android
这是我的 onClick 方法。我尝试从 edittext 中获取值并进行计算。
我使用 "if" 来检查编辑文本是否为空。 "if" 可以检查edittext是否为空没问题。
问题是检查后它是空的,值中的键,应用程序崩溃了。请帮助我,我是 android 初学者。
public void onClick(View v) {
// TODO Auto-generated method stub
Editable editableValue_x1 = et_x1.getText(),
editableValue_x2 = et_x2.getText(),
editableValue_x3 = et_x3.getText(),
editableValue_x4 = et_x4.getText(),
editableValue_x5 = et_x5.getText(),
editableValue_x6 = et_x6.getText(),
editableValue_x7 = et_x7.getText(),
editableValue_x8 = et_x8.getText(),
editableValue_x9 = et_x9.getText(),
editableValue_x10 = et_x10.getText();
Editable editableValue_y1 = et_y1.getText(),
editableValue_y2 = et_y2.getText(),
editableValue_y3 = et_y3.getText(),
editableValue_y4 = et_y4.getText(),
editableValue_y5 = et_y5.getText(),
editableValue_y6 = et_y6.getText(),
editableValue_y7 = et_y7.getText(),
editableValue_y8 = et_y8.getText(),
editableValue_y9 = et_y9.getText(),
editableValue_y10 = et_y10.getText();
String x1 = et_x1.getText().toString();
String x2 = et_x2.getText().toString();
String x3 = et_x3.getText().toString();
String x4 = et_x4.getText().toString();
String x5 = et_x5.getText().toString();
String x6 = et_x6.getText().toString();
String x7 = et_x7.getText().toString();
String x8 = et_x8.getText().toString();
String x9 = et_x9.getText().toString();
String x10 = et_x10.getText().toString();
//这是我的"if"声明
String [] x = {x1,x2,x3,x4,x5,x6,x7,x8,x9,x10};
for (int i = 1 ; i<11 ; i++)
if(TextUtils.isEmpty(x[i])) {
Toast.makeText(MainActivity.this, "Incomplete values", Toast.LENGTH_SHORT).show();
}
float value_x1 = 0,
value_x2 = 0,
value_x3 = 0,
value_x4 = 0,
value_x5 = 0,
value_x6 = 0,
value_x7 = 0,
value_x8 = 0,
value_x9 = 0,
value_x10 = 0,
value_y1 = 0,
value_y2 = 0,
value_y3 = 0,
value_y4 = 0,
value_y5 = 0,
value_y6 = 0,
value_y7 = 0,
value_y8 = 0,
value_y9 = 0,
value_y10 = 0,
result_sum_x,
result_sum_y,
result_sum_x2,
result_sum_y2,
result_sum_xy,
result_sxx,
result_sxy,
result_beta1,
result_beta0;
if (editableValue_x1 != null)
value_x1 = Float.parseFloat(editableValue_x1.toString());
if (editableValue_x2 != null)
value_x2 = Float.parseFloat(editableValue_x2.toString());
if (editableValue_x3 != null)
value_x3 = Float.parseFloat(editableValue_x3.toString());
if (editableValue_x4 != null)
value_x4 = Float.parseFloat(editableValue_x4.toString());
if (editableValue_x5 != null)
value_x5 = Float.parseFloat(editableValue_x5.toString());
if (editableValue_x6 != null)
value_x6 = Float.parseFloat(editableValue_x6.toString());
if (editableValue_x7 != null)
value_x7 = Float.parseFloat(editableValue_x7.toString());
if (editableValue_x8 != null)
value_x8 = Float.parseFloat(editableValue_x8.toString());
if (editableValue_x9 != null)
value_x9 = Float.parseFloat(editableValue_x9.toString());
if (editableValue_x10 != null)
value_x10 = Float.parseFloat(editableValue_x10.toString());
if (editableValue_y1 != null)
value_y1 = Float.parseFloat(editableValue_y1.toString());
if (editableValue_y2 != null)
value_y2 = Float.parseFloat(editableValue_y2.toString());
if (editableValue_y3 != null)
value_y3 = Float.parseFloat(editableValue_y3.toString());
if (editableValue_y4 != null)
value_y4 = Float.parseFloat(editableValue_y4.toString());
if (editableValue_y5 != null)
value_y5 = Float.parseFloat(editableValue_y5.toString());
if (editableValue_y6 != null)
value_y6 = Float.parseFloat(editableValue_y6.toString());
if (editableValue_y7 != null)
value_y7 = Float.parseFloat(editableValue_y7.toString());
if (editableValue_y8 != null)
value_y8 = Float.parseFloat(editableValue_y8.toString());
if (editableValue_y9 != null)
value_y9 = Float.parseFloat(editableValue_y9.toString());
if (editableValue_y10 != null)
value_y10 = Float.parseFloat(editableValue_y10.toString());
result_sum_x = value_x1 + value_x2 + value_x3 + value_x4 + value_x5 + value_x6 + value_x7 + value_x8 + value_x9 + value_x10;
result_sum_y = value_y1 + value_y2 + value_y3 + value_y4 + value_y5 + value_y6 + value_y7 + value_y8 + value_y9 + value_y10;
result_sum_x2 = (value_x1 * value_x1) + (value_x2 * value_x2) + (value_x3 * value_x3) + (value_x4 * value_x4) +
(value_x5 * value_x5) + (value_x6 * value_x6) + (value_x7 * value_x7) + (value_x8 * value_x8) +
(value_x9 * value_x9) + (value_x10 * value_x10);
result_sum_y2 = (value_y1 * value_y1) + (value_y2 * value_y2) + (value_y3 * value_y3) + (value_y4 * value_y4) +
(value_y5 * value_y5) + (value_y6 * value_y6) + (value_y7 * value_y7) + (value_y8 * value_y8) +
(value_y9 * value_y9) + (value_y10 * value_y10);
result_sum_xy = (value_x1 * value_y1) + (value_x2 * value_y2) + (value_x3 * value_y3) + (value_x4 * value_y4) +
(value_x5 * value_y5) + (value_x6 * value_y6) + (value_x7 * value_y7) + (value_x8 * value_y8) +
(value_x9 * value_y9) + (value_x10 * value_y10);
result_sxx = result_sum_x2 - ((result_sum_x * result_sum_x)/10);
result_sxy = result_sum_xy - ((result_sum_x * result_sum_y)/10);
result_beta1 = result_sxy / result_sxx;
result_beta0 = ((result_sum_y)/10) - (result_beta1 * (result_sum_x / 10));
ResultSumX.setText(""+ result_sum_x );
ResultSumY.setText(""+ result_sum_y );
ResultSumX2.setText(""+ result_sum_x2 );
ResultSumY2.setText(""+ result_sum_y2 );
ResultSumXY.setText(""+ result_sum_xy );
ResultSXX.setText(""+ result_sxx);
ResultSXY.setText(""+ result_sxy);
ResultBeta1.setText(""+ result_beta1);
ResultBeta0.setText(""+ result_beta0);
ResultModel.setText("y = "+ result_beta0 + "+" + result_beta1 +"x");
}});
按以下方式更改 if 语句
if (x1 != null)
而不是
if (editableValue_x1 != null)
并且还更改了for循环部分,
for (int i = 0 ; i<10 ; i++)
if(TextUtils.isEmpty(x[i])) {
Toast.makeText(MainActivity.this, "Incomplete values", Toast.LENGTH_SHORT).show();
}
替换为:
for (int i = 1 ; i<11 ; i++)
与:
for (int i = 0 ; i<10 ; i++)
请创建一个 Editable
数组,将其初始化为 editablevalue_x1
...editablevalue_y10
并在循环中执行其他所有操作,而不是所有这些变量和冗长的代码:
Editable[] editables = {editablevalue_x1, editablevalue_x2, ...,
editablevalue_y1, ..., editabledvalue_y10};
List<Float> values = new ArrayList<Float>();
for(Editable editable: editables) {
string s = editable.getText().toString();
if(s!=null)
values.add(Float.parse(s));
else
values.add(null);
}
// Do whatever you want with values, this times with loops for adding and multiplying
这将使查找错误变得容易得多(它很可能会完全消除错误)
这是我的 onClick 方法。我尝试从 edittext 中获取值并进行计算。 我使用 "if" 来检查编辑文本是否为空。 "if" 可以检查edittext是否为空没问题。 问题是检查后它是空的,值中的键,应用程序崩溃了。请帮助我,我是 android 初学者。
public void onClick(View v) {
// TODO Auto-generated method stub
Editable editableValue_x1 = et_x1.getText(),
editableValue_x2 = et_x2.getText(),
editableValue_x3 = et_x3.getText(),
editableValue_x4 = et_x4.getText(),
editableValue_x5 = et_x5.getText(),
editableValue_x6 = et_x6.getText(),
editableValue_x7 = et_x7.getText(),
editableValue_x8 = et_x8.getText(),
editableValue_x9 = et_x9.getText(),
editableValue_x10 = et_x10.getText();
Editable editableValue_y1 = et_y1.getText(),
editableValue_y2 = et_y2.getText(),
editableValue_y3 = et_y3.getText(),
editableValue_y4 = et_y4.getText(),
editableValue_y5 = et_y5.getText(),
editableValue_y6 = et_y6.getText(),
editableValue_y7 = et_y7.getText(),
editableValue_y8 = et_y8.getText(),
editableValue_y9 = et_y9.getText(),
editableValue_y10 = et_y10.getText();
String x1 = et_x1.getText().toString();
String x2 = et_x2.getText().toString();
String x3 = et_x3.getText().toString();
String x4 = et_x4.getText().toString();
String x5 = et_x5.getText().toString();
String x6 = et_x6.getText().toString();
String x7 = et_x7.getText().toString();
String x8 = et_x8.getText().toString();
String x9 = et_x9.getText().toString();
String x10 = et_x10.getText().toString();
//这是我的"if"声明
String [] x = {x1,x2,x3,x4,x5,x6,x7,x8,x9,x10};
for (int i = 1 ; i<11 ; i++)
if(TextUtils.isEmpty(x[i])) {
Toast.makeText(MainActivity.this, "Incomplete values", Toast.LENGTH_SHORT).show();
}
float value_x1 = 0,
value_x2 = 0,
value_x3 = 0,
value_x4 = 0,
value_x5 = 0,
value_x6 = 0,
value_x7 = 0,
value_x8 = 0,
value_x9 = 0,
value_x10 = 0,
value_y1 = 0,
value_y2 = 0,
value_y3 = 0,
value_y4 = 0,
value_y5 = 0,
value_y6 = 0,
value_y7 = 0,
value_y8 = 0,
value_y9 = 0,
value_y10 = 0,
result_sum_x,
result_sum_y,
result_sum_x2,
result_sum_y2,
result_sum_xy,
result_sxx,
result_sxy,
result_beta1,
result_beta0;
if (editableValue_x1 != null)
value_x1 = Float.parseFloat(editableValue_x1.toString());
if (editableValue_x2 != null)
value_x2 = Float.parseFloat(editableValue_x2.toString());
if (editableValue_x3 != null)
value_x3 = Float.parseFloat(editableValue_x3.toString());
if (editableValue_x4 != null)
value_x4 = Float.parseFloat(editableValue_x4.toString());
if (editableValue_x5 != null)
value_x5 = Float.parseFloat(editableValue_x5.toString());
if (editableValue_x6 != null)
value_x6 = Float.parseFloat(editableValue_x6.toString());
if (editableValue_x7 != null)
value_x7 = Float.parseFloat(editableValue_x7.toString());
if (editableValue_x8 != null)
value_x8 = Float.parseFloat(editableValue_x8.toString());
if (editableValue_x9 != null)
value_x9 = Float.parseFloat(editableValue_x9.toString());
if (editableValue_x10 != null)
value_x10 = Float.parseFloat(editableValue_x10.toString());
if (editableValue_y1 != null)
value_y1 = Float.parseFloat(editableValue_y1.toString());
if (editableValue_y2 != null)
value_y2 = Float.parseFloat(editableValue_y2.toString());
if (editableValue_y3 != null)
value_y3 = Float.parseFloat(editableValue_y3.toString());
if (editableValue_y4 != null)
value_y4 = Float.parseFloat(editableValue_y4.toString());
if (editableValue_y5 != null)
value_y5 = Float.parseFloat(editableValue_y5.toString());
if (editableValue_y6 != null)
value_y6 = Float.parseFloat(editableValue_y6.toString());
if (editableValue_y7 != null)
value_y7 = Float.parseFloat(editableValue_y7.toString());
if (editableValue_y8 != null)
value_y8 = Float.parseFloat(editableValue_y8.toString());
if (editableValue_y9 != null)
value_y9 = Float.parseFloat(editableValue_y9.toString());
if (editableValue_y10 != null)
value_y10 = Float.parseFloat(editableValue_y10.toString());
result_sum_x = value_x1 + value_x2 + value_x3 + value_x4 + value_x5 + value_x6 + value_x7 + value_x8 + value_x9 + value_x10;
result_sum_y = value_y1 + value_y2 + value_y3 + value_y4 + value_y5 + value_y6 + value_y7 + value_y8 + value_y9 + value_y10;
result_sum_x2 = (value_x1 * value_x1) + (value_x2 * value_x2) + (value_x3 * value_x3) + (value_x4 * value_x4) +
(value_x5 * value_x5) + (value_x6 * value_x6) + (value_x7 * value_x7) + (value_x8 * value_x8) +
(value_x9 * value_x9) + (value_x10 * value_x10);
result_sum_y2 = (value_y1 * value_y1) + (value_y2 * value_y2) + (value_y3 * value_y3) + (value_y4 * value_y4) +
(value_y5 * value_y5) + (value_y6 * value_y6) + (value_y7 * value_y7) + (value_y8 * value_y8) +
(value_y9 * value_y9) + (value_y10 * value_y10);
result_sum_xy = (value_x1 * value_y1) + (value_x2 * value_y2) + (value_x3 * value_y3) + (value_x4 * value_y4) +
(value_x5 * value_y5) + (value_x6 * value_y6) + (value_x7 * value_y7) + (value_x8 * value_y8) +
(value_x9 * value_y9) + (value_x10 * value_y10);
result_sxx = result_sum_x2 - ((result_sum_x * result_sum_x)/10);
result_sxy = result_sum_xy - ((result_sum_x * result_sum_y)/10);
result_beta1 = result_sxy / result_sxx;
result_beta0 = ((result_sum_y)/10) - (result_beta1 * (result_sum_x / 10));
ResultSumX.setText(""+ result_sum_x );
ResultSumY.setText(""+ result_sum_y );
ResultSumX2.setText(""+ result_sum_x2 );
ResultSumY2.setText(""+ result_sum_y2 );
ResultSumXY.setText(""+ result_sum_xy );
ResultSXX.setText(""+ result_sxx);
ResultSXY.setText(""+ result_sxy);
ResultBeta1.setText(""+ result_beta1);
ResultBeta0.setText(""+ result_beta0);
ResultModel.setText("y = "+ result_beta0 + "+" + result_beta1 +"x");
}});
按以下方式更改 if 语句
if (x1 != null)
而不是
if (editableValue_x1 != null)
并且还更改了for循环部分,
for (int i = 0 ; i<10 ; i++)
if(TextUtils.isEmpty(x[i])) {
Toast.makeText(MainActivity.this, "Incomplete values", Toast.LENGTH_SHORT).show();
}
替换为:
for (int i = 1 ; i<11 ; i++)
与:
for (int i = 0 ; i<10 ; i++)
请创建一个 Editable
数组,将其初始化为 editablevalue_x1
...editablevalue_y10
并在循环中执行其他所有操作,而不是所有这些变量和冗长的代码:
Editable[] editables = {editablevalue_x1, editablevalue_x2, ...,
editablevalue_y1, ..., editabledvalue_y10};
List<Float> values = new ArrayList<Float>();
for(Editable editable: editables) {
string s = editable.getText().toString();
if(s!=null)
values.add(Float.parse(s));
else
values.add(null);
}
// Do whatever you want with values, this times with loops for adding and multiplying
这将使查找错误变得容易得多(它很可能会完全消除错误)