我正在寻找一种从一个 EditText 获取三个浮点值的方法。我查看了开发人员页面,但我找不到最适合我需要的任何内容。我想从一个条目中获取三个浮点 ax、y、z编辑文本?
非常感谢你们对这个问题的回复,我真的很棒。我现在仅限于我的计算机上的时间,但我会让你知道哪个答案对我有用并且我也会发布我的代码。
我正在寻找一种从一个 EditText 获取三个浮点值的方法。我查看了开发人员页面,但我找不到最适合我需要的任何内容。我想从一个条目中获取三个浮点 ax、y、z编辑文本?
非常感谢你们对这个问题的回复,我真的很棒。我现在仅限于我的计算机上的时间,但我会让你知道哪个答案对我有用并且我也会发布我的代码。
如果它们被空格分隔
Scanner sc = new Scanner(yourEditText.getText().toString());
float vals = new float[3];
while(int i=0; sc.hasNextFloat() && (i < 3); ++i) {
vals[i] = sc.nextFloat();
}
否则用于Scanner.setDelimiter
设置除空格以外的分隔符。
重新考虑您的设计以改用三个 EditText。在手机上输入逗号之类的符号很痛苦
String value = yourEditText.getText().toString();
String[] floatStrings = value.split(",");
float[] result = new float[floatString.length];
for (int i=0; i<result.length; i++) {
result[i] = Float.valueOf(floatStrings[i];
}
?
如果您希望用户输入 3 个单独的值,这些值将被解析为 3 个单独的变量,请使用 3 个 EditText 小部件。
您应该创建几个 EditText 视图,或者然后解析 EditText 的内容
EditText textView;
String[] splitFloatStrings = textView.getText().toString();.split(",");
float[] parsedFloats = new float[splitFloatStrings.length];
for (int i=0; i < parsedFloats.length; i++) {
parsedFloats[i] = Float.valueOf(splitFloatStrings[i];
}