Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:如何将EditText数字输入字符串转换为int?_Java_Android - Fatal编程技术网

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;k
String 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
报告任何数组字段或变量,这些字段或变量的内容读而不写,或写而不读。这种不匹配的读写是毫无意义的,可能表示代码死了、不完整或错误。@@我没有理解您所说的,但很抱歉,这不是您所期望的。尽管问题尚未解决解决了,但还是非常感谢你的帮助。我很感谢你的帮助,后来在你的基础上对方式做了修改,最终得到了预期的效果,真的很棒!祝你度过愉快的一天。