我有一个EditText
用户输入十六进制数字,我想将其转换为十进制数字并显示在TextView
上,但我甚至无法显示十六进制数字TextView
因为异常:“无法将'String'解析为整数。
我只能在TextView
上显示数字。当我输入字符时,它会抛出异常。
以下是一段代码:
EditText edText1 = (EditText) findViewById(R.id.editText1);
TextView result = (TextView) findViewById(R.id.textView1);
result.setText(""+ Integer.parseInt(edText1.getText().toString(), 16));
答案 0 :(得分:2)
在我看来,由于edText1.getText()
的初始情况,您收到错误。当textfield
为空时,它仍会存储值 - ""
。 ""
仍然是String
但仍有内容,但它不是整数。所以,当你在Integer.parseInt()
上做result.setText("" + Integer.parseInt("", 16));
时,它会做如下的事情:
""
String
显然不是整数或十六进制,但它仍然是{{1}},因此格式化时出现问题,然后抛出错误。