0

ここでは、整数値として数値を取得するために 2 つの EditText を使用しています。

<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;
}

/ここで int some x=10; 私の問題は、条件を確認する方法です。選択されている場合はcomp値を取得する必要があります(2つのEditTextに入力することにより)それ以外の場合は1つの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) ;
        }
}
4

1 に答える 1

0

String 表現が実際には整数でない場合、Integer.parseInt() は例外をスローします。try-catch ブロックを作成し、値をそれぞれ 0 または目的のデフォルト値に設定する必要があります

try{
    i1=Integer.parseInt(t1);
} catch(Exception e) {
    i1=0;
}
etc...

編集テキストの値が現在「[空]」であるためです。

編集: まだ何も設定していないため、編集テキストは現在空です。レイアウトにある ems="10" は編集テキスト値ではありません。

于 2012-07-02T15:32:21.393 に答える