我想输入一个可以发送的数字
通过:usbService.write()
;
C1
是我想要的效果,但想通过EditText
形成C2
达到同样的效果
因为需要使用byte[]
,所以需要做转换 Action
当前输入(128),单个数字即可达到我想要的效果。
但我需要连续的指令,例如:(128 135)
int i = Integer.parseInt(data);
将会崩溃。
通过EditText
想要输入一系列数字到指令byte[]
中
下面达到同样的效果
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
的输入类型设置为如下所示的编号:
<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());
}
这样您就可以获得该 numberArray
中的所有数字。希望对您有所帮助。
关于java - Android:如何将EditText数字输入字符串转换为int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974919/