这里我使用两个EditTexts来获取一些数字作为整数值..
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<EditText
android:id="@+id/editText3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
现在我打算做一些计算 一些
int i1,i2,i3;
String t1,t2,t3;
EditText et1,et2,et3;
int result,comp;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et1=(EditText)findViewById(R.id.editText1);
et2=(EditText)findViewById(R.id.editText2);
et3=(EditText)findViewById(R.id.editText3);
//and also storing to string like
t1=et1.getText().toString();
t2=et2.getText().toString();
t3=et3.getText().toString();
i1=Integer.parseInt(t1);
i2=Integer.parseInt(t2);
i3=Integer.parseInt(t3);
comp=i2-i1;
}
/ here int some x = 10;我的问题是如何检查条件我需要获得comp值如果它被选中(通过输入两个EditTexts)否则一个editText(i3 valsu) 任何人帮助我.... /
public int CalculateUsage(int customersUsage)
{
int x=10;
comp= customersUsage;
if(comp!=0)
{
customersUsage=comp;
result=(customersUsage*x) ;
}
else if(i3 !=null)
{
customersUsage=i3;
result=(customersUsage*x) ;
}
}
答案 0 :(得分:0)
如果String表示实际上不是整数,则Integer.parseInt()会抛出异常。您应该创建一个try-catch块,并将值分别设置为0或所需的默认值
try{
i1=Integer.parseInt(t1);
} catch(Exception e) {
i1=0;
}
etc...
因为编辑文本值当前是“[空]”。
编辑: 编辑文本当前为空,因为您尚未对它们进行任何设置。 您布局中的ems =“10”不是编辑文本值。