提问人:MysticSticker 提问时间:9/12/2023 更新时间:9/12/2023 访问量:26
将 int 转换为字符串时出现问题(资源错误)
Issues converting int into string (resource errror)
问:
尝试获取用户输入并使用它来进行计算。但是,据我所知,我没有正确地将我的 int 转换为字符串,因此它试图为 int 查找资源 ID。我将如何解决这个问题?
public void calculateAndDisplay() {
editNumString = editNumText.getText().toString();
float num; //this num is causing the issue
if (editNumString.equals("")){
num = 0;
} else {
num = Float.parseFloat(String.valueOf(editNumString));
}
float unitResult = 0;
if (unitSelect.getSelectedItem().toString().trim().equals("Miles to Kilometers")) {
unitResult = (float) (num * 1.6093);
} else if (unitSelect.getSelectedItem().toString().trim().equals("Kilometers to Miles")) {
unitResult = (float) (num * 0.6214);
} else if (unitSelect.getSelectedItem().toString().trim().equals("Inches to Centimeters")) {
unitResult = (float) (num * 2.54);
} else if (unitSelect.getSelectedItem().toString().trim().equals("Centimeters to Inches")) {
unitResult = (float) (num * 0.3937);
}
unitResultView.setText((int) unitResult);
}
//below is the tldr error
android.content.res.Resources$NotFoundException: String resource ID #0x0
我尝试初始化num=0、setText和String.valueOf。其中一个可能是正确的,而我实施错了。
答:
0赞
Sarmad Ali
9/12/2023
#1
错误是由以下代码引起的
unitResultView.setText((int) unitResult);
Android 将此整数值解释为资源 ID,从而导致错误。要修复它,您应该先将整数转换为字符串,然后再将其设置在文本视图上。
unitResultView.setText(String.valueOf((int) unitResult));
评论