0

ユーザーが入力した整数値を取得しようとしEditTextています。

EditText eTextValue=(EditText) findViewById(R.id.eId); 
String eTextString=eTextValue.getText().toString();
int eTextValue1=Integer.parseInt(eTextString);

しかし、不運にも私は得ています、

9827328 を整数として解析できません。

Integer.valueOfの代わりに使用してみInteger.parseIntましたが、同じ例外が発生します。

Longデータ型の代わりに値を格納するためにデータ型を使用しintましたが、何も機能していないようです。これに関するヘルプは高く評価されます。私は' ' を android の整数として解析できないこれらすべてのリンクを調べましたが、EditText からの値を解析しています...しかし、何も機能していないようです。

4

4 に答える 4

4

eTextValue2 つの異なるもの (int と EditText) の変数名として使用しています。あなたはそれを行うことができず、それが適切に機能することを期待しています. どちらかを変更すると、よりうまく機能するはずです。

于 2012-12-25T15:19:33.360 に答える
0

対応するEditText要素の下のXMLファイルに次のように入力してみてください。

android:inputType = "number"

これで例外を通過できることを願っています。

于 2012-12-25T19:17:38.007 に答える
0

解析している文字列が整数かどうかを確認する必要があります。このコードを試してください:

if (IsInteger(eTextString)
   int eTextValue1=Integer.parseInt(eTextString);

この関数を追加します。

public static boolean IsInteger(String s)
{
   if (s == null || s.length() == 0) return false;
   for(int i = 0; i < s.length(); i++)
   {
      if (Character.digit(s.charAt(i), 10) < 0)
         return false;
   }
   return true;
}

これが役立つことを願っています

于 2013-06-27T03:19:21.180 に答える
0
int id;
id=Integer.parseInt(ed.getText().toString());
于 2012-12-25T15:32:09.290 に答える