-4

这个带有edittext的警报框代码在这个m中从用户那里获取值...我想将该值转换为整数n在我的代码中使用..

AlertDialog.Builder alert = new AlertDialog.Builder(this);

    alert.setTitle("Enter Your Weight");
    alert.setMessage("");

    // Set an EditText view to get user input 
    final EditText input = new EditText(this);
    alert.setView(input);

    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
     Editable  value = input.getText();
      Toast.makeText(getApplicationContext(), "Weight is..."+value, Toast.LENGTH_LONG).show();
      // Do something with value!
      }
    });

    alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int whichButton) {
        // Canceled.
      }
    });

    alert.show();
4

5 回答 5

3

您需要将输入类型设置为数字,它不应该接受任何小数或字符,所以我使用了 KeyListener。

final EditText input = new EditText(this);
input .setInputType(InputType.TYPE_CLASS_NUMBER);
input .setKeyListener(DigitsKeyListener.getInstance("0123456789"));

用于转换为 int

Integer.parseInt(input.getText().toString());

希望这能解决您的问题。

于 2013-03-12T06:27:48.333 回答
1

一般EditText包含 String 值所以使用Integer.parseInt()Java 的方法转换StringInteger.

int numericValue = Integer.parseInt(yourEditText.getText().toString().trim());

不要忘记trim()将值EditText转换为数字时可能包含空格。

于 2013-03-12T06:22:32.497 回答
1
Integer.parseInt(input.getText().toString));
于 2013-03-12T06:22:52.010 回答
1

你可以这样做

int value = Integer.parseInt(input.getText().toString));

于 2013-03-12T06:23:33.650 回答
0

U 可以使用 Integer.parseInt() 将字符串转换为整数。

或者您可以使用 set input type for edittext 直接输入整数

于 2013-03-12T06:27:14.680 回答