Java Android:如何将EditText数字输入字符串转换为int?
我想输入一个数字,可以用 作者:Java Android:如何将EditText数字输入字符串转换为int?,java,android,Java,Android,我想输入一个数字,可以用 作者:usbService.write() C1是我想要的效果,但是我想通过EditText形成C2来达到同样的效果 因为需要使用字节[],所以有必要执行转换操作 当前输入(128),单个数字可以达到我想要的效果 但我需要一个连续的指令,如:(128 135) int i=Integer.parseInt(数据)将崩溃 通过EditText要在指令字节[]中输入一系列数字 达到同样的效果如下 byte p1 = (byte) 128 byte p2 = (byte) 1
usbService.write()
C1
是我想要的效果,但是我想通过EditText
形成C2
来达到同样的效果
因为需要使用字节[]
,所以有必要执行转换操作
当前输入(128),单个数字可以达到我想要的效果
但我需要一个连续的指令,如:(128 135)
int i=Integer.parseInt(数据)代码>将崩溃
通过EditText
要在指令字节[]中输入一系列数字
达到同样的效果如下
byte p1 = (byte) 128
byte p2 = (byte) 135
byte [] c1 = new byte [128];
c1 [0] = p1;
c1 [1] = p2;
usbService.write (c1);
@Override
public void onClick(View v) {
String data = editText.getText().toString();
int i=Integer.parseInt(data);
byte [] C2= ByteBuffer.allocate(1024).putInt(i).array();
display.append(data);
usbService.write(C2);
}
将编辑文本的输入类型设置为如下数字:
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number|text"/>
String data = editText.getText().toString();
String[] numberStrings = data.split(" ");
int[] numberArray = new int[numberStrings.length];
for (int i = 0; i < numberStrings.length; i++){
numberArray[i] = Integer.parseInt(numberStrings[i].trim());
}
在获取数字的同时,您可以获取数字并使用空格将其拆分,如下所示:
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number|text"/>
String data = editText.getText().toString();
String[] numberStrings = data.split(" ");
int[] numberArray = new int[numberStrings.length];
for (int i = 0; i < numberStrings.length; i++){
numberArray[i] = Integer.parseInt(numberStrings[i].trim());
}
String data=editText.getText().toString();
字符串[]numberStrings=data.split(“”);
int[]numberraray=newint[numberStrings.length];
for(int i=0;i
这样,您将拥有该numberArray
中的所有数字。希望有帮助。将编辑文本的输入类型设置为如下数字:
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number|text"/>
String data = editText.getText().toString();
String[] numberStrings = data.split(" ");
int[] numberArray = new int[numberStrings.length];
for (int i = 0; i < numberStrings.length; i++){
numberArray[i] = Integer.parseInt(numberStrings[i].trim());
}
String data=editText.getText().toString();
String[] dataArray=data.split(" ");
int l=dataArray.length;
int[] intArray=new int[l];
byte [] byteArray=new byte[l];
for (int k=0;k<l;k++){
intArray[k]=Integer.parseInt(dataArray[k]);
byteArray[k]=(byte)intArray[k];
}
usbService.write(byteArray);
在获取数字的同时,您可以获取数字并使用空格将其拆分,如下所示:
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number|text"/>
String data = editText.getText().toString();
String[] numberStrings = data.split(" ");
int[] numberArray = new int[numberStrings.length];
for (int i = 0; i < numberStrings.length; i++){
numberArray[i] = Integer.parseInt(numberStrings[i].trim());
}
String data=editText.getText().toString();
字符串[]numberStrings=data.split(“”);
int[]numberraray=newint[numberStrings.length];
for(int i=0;i
这样,您将拥有该numberArray
中的所有数字。希望有帮助。String data=editText.getText().toString();
String data=editText.getText().toString();
String[] dataArray=data.split(" ");
int l=dataArray.length;
int[] intArray=new int[l];
byte [] byteArray=new byte[l];
for (int k=0;k<l;k++){
intArray[k]=Integer.parseInt(dataArray[k]);
byteArray[k]=(byte)intArray[k];
}
usbService.write(byteArray);
字符串[]dataArray=data.split(“”);
int l=dataArray.length;
int[]intArray=新的int[l];
byte[]byteArray=新字节[l];
for(int k=0;kString data=editText.getText().toString();
字符串[]dataArray=data.split(“”);
int l=dataArray.length;
int[]intArray=新的int[l];
byte[]byteArray=新字节[l];
对于(int k=0;kSo)您想限制用户只输入数字,对吗?是的,我只使用数字。当前的问题是,我在EditText(128 135)中也输入了两组数字,这将崩溃,因为我需要在一个字节[]中输入多组数字因此,对于多组数字,难道你不能有多个editText
框吗?因为可能有五个以上的组使用数字的组合,所以最好只使用一个editText
,因为使用其他功能也需要空间。请检查我修改的答案,使用该实现,用户可以使用每组数字之间的空格。所以您想限制用户只输入数字,对吗?是的,我将只使用数字。当前的问题是,我在EditText(128 135)中也输入了两组数字。由于我需要在一个字节[]中输入多组数字,因此将崩溃因此,对于多组数字,难道你不能有多个editText
框吗?因为可能有五个以上的组使用数字的组合,所以最好只使用一个editText
,因为使用其他功能也需要空间。请检查我修改的答案,使用该实现,用户可以使用每组数字之间的空格。int[]numberArray
报告任何数组字段或变量,这些字段或变量的内容读而不写,或写而不读。这种不匹配的读写是毫无意义的,可能表示代码死了、不完整或错误。@@我没有理解您所说的,但很抱歉,这不是您所期望的。尽管问题尚未解决已解决,但仍然非常感谢您的帮助。我非常感谢您的帮助,并在以后的基础上对您的方式进行了修改,最终得到了预期的效果。这真是太棒了!祝您愉快。int[]numberArray
报告任何数组字段或变量,这些字段或变量的内容读而不写,或写而不读。这种不匹配的读写是毫无意义的,可能表示代码死了、不完整或错误。@@我没有理解您所说的,但很抱歉,这不是您所期望的。尽管问题尚未解决解决了,但还是非常感谢你的帮助。我很感谢你的帮助,后来在你的基础上对方式做了修改,最终得到了预期的效果,真的很棒!祝你度过愉快的一天。