0

私はAndroidアプリで作業しています。5つの編集テキストと、それらの編集テキストから整数を合計する1つのボタンがあります。場合によっては、ユーザーが複数のテキスト ブランクを編集できるようにすることもできます。問題は、ユーザーが空白にすると例外が発生し、それを処理する考えがありません。これらは私のコードです

try
    {
        if (qty1 != null)
        {
            int jml1 = Integer.parseInt(qty1.getText().toString());
            item1 = hrg1 * jml1;
        }
        else 
        {
            qty1.setText("0");
        }
        if (qty2 != null)
        {
            int jml2 = Integer.parseInt(qty2.getText().toString());
            item2 = hrg2 * jml2;
        }
        else 
        {
            qty2.setText("0");
        }
        if (qty3 != null)
        {
            int jml3 = Integer.parseInt(qty3.getText().toString());
            item3 = hrg3 * jml3;
        }
        else 
        {
            qty3.setText("0");
        }
        if (qty4 != null)
        {
            int jml4 = Integer.parseInt(qty4.getText().toString());
            item4 = hrg4 * jml4;
        }
        else 
        {
            qty4.setText("0");
        }
        if (qty5 != null)
        {
            int jml5 = Integer.parseInt(qty5.getText().toString());
            item5 = hrg5 * jml5;
        }
        else 
        {
            qty5.setText("0");
        }
int hasil = item1 + item2 + item3 + item4 + item5;
        Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
        total.setText(String.valueOf(hasil));
    }
    catch(Exception e)
    {
        Toast.makeText(getApplicationContext(), "Quantity can't be empty. Please type item quantity", Toast.LENGTH_LONG).show();
    }    

if で条件を付けようとしましたが、あまり役に立ちません。ありがとう。

4

3 に答える 3

3

これを試して、

if (qty1.getText().toString() != null && !(qty1.getText().toString().equals("")))
        {
            int jml1 = Integer.parseInt(qty1.getText().toString());
            item1 = hrg1 * jml1;
        }

それ以外の、

if (qty1 != null)
        {
            int jml1 = Integer.parseInt(qty1.getText().toString());
            item1 = hrg1 * jml1;
        }

この条件(qty1 != null)は、editTextがnullであるかどうかをチェックしますが、それに含まれるデータはチェックしません。

他のすべてのeditText値についても同じことを繰り返します。

于 2012-12-27T05:18:57.383 に答える
1

put this condition

String s1= qty5.getText().toString().trim();

if(TextUtils.isEmpty(s1)) ///// isEmpty() <-----
{
 // error message
}
else
{
 // your code
}
于 2012-12-27T05:20:01.490 に答える
0

あなたqty1が編集テキストである場合、あなたはそれがそうであるかどうかをチェックするためにあなたの編集テキストから文字列を取得する必要がありますnull

したがって、すべてのedittextsコードを次のように変更します

    if (qty1.getText().toString() != null && qty1.getText().toString().equals(""))
    {
        int jml1 = Integer.parseInt(qty1.getText().toString());
        item1 = hrg1 * jml1;
    }
    else 
    {
        qty1.setText("0");
    }
于 2012-12-27T05:19:14.130 に答える