java - Android:如何将EditText数字输入字符串转换为int?

标签 java android

我想输入一个可以发送的数字 通过: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/

相关文章:

android - 添加带抽屉导航的操作栏按钮?

java - 使用split来分割数据并存储在矩阵中

java - 使用 OWLAPI 和 JFact 推理器获取特定类别的所有个体

java - 如何使用 org.kohsuke.github 库获取有关给定提交的详细信息

java - 使用索引 (i) 在 for 循环中声明变量

java - 使用 OpenGL 替换 Canvas - Android

Android更改每个选项卡的单独背景颜色

java - 运行测试时在其他模块中搜索资源文件

java - 如何在 addPropertyChangeListener 中打开 JCombobox

android - Android 中的预批准 key