这个带有edittext的警报框代码,在这里获取用户的值...我想在我的代码中转换整数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();
答案 0 :(得分:3)
你需要将setInputType设置为Number,它不应该接受任何小数或字符,所以我使用了KeyListener。
final EditText input = new EditText(this);
input .setInputType(InputType.TYPE_CLASS_NUMBER);
input .setKeyListener(DigitsKeyListener.getInstance("0123456789"));
转换为int
Integer.parseInt(input.getText().toString());
希望这能解决您的问题。
答案 1 :(得分:1)
通常EditText
包含字符串值,因此使用Java的Integer.parseInt()
方法将String
转换为Integer
。
int numericValue = Integer.parseInt(yourEditText.getText().toString().trim());
不要忘记trim()
EditText
值,因为{{1}}在将其转换为数字时可能包含空格。
答案 2 :(得分:1)
Integer.parseInt(input.getText().toString));
答案 3 :(得分:1)
你可以这样做
<强> int value = Integer.parseInt(input.getText().toString));
强>
答案 4 :(得分:0)
U可以使用Integer.parseInt()将字符串转换为Integer。
或者你可以使用settext输入类型直接输入整数