将 int 转换为字符串时出现问题(资源错误)

Issues converting int into string (resource errror)

提问人:MysticSticker 提问时间:9/12/2023 更新时间:9/12/2023 访问量:26

问:

尝试获取用户输入并使用它来进行计算。但是,据我所知,我没有正确地将我的 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。其中一个可能是正确的,而我实施错了。

java android 字符串 整数

评论

0赞 Akin Okegbile 9/13/2023
您能分享完整的错误跟踪吗?而不是 tldr?

答:

0赞 Sarmad Ali 9/12/2023 #1

错误是由以下代码引起的

unitResultView.setText((int) unitResult);

Android 将此整数值解释为资源 ID,从而导致错误。要修复它,您应该先将整数转换为字符串,然后再将其设置在文本视图上。

unitResultView.setText(String.valueOf((int) unitResult));