You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中EditText文本转int报错Resources$NotFoundException求助

问题根源与解决办法

兄弟,你这个错误根本不是EditText转int的锅!问题出在Toast的调用上!

你看,Android的Toast.makeText()有两个重载方法:一个是传字符串文本,另一个是传字符串资源ID(就是R.string.xxx那种int值)。你现在把int类型的minput直接传进去,系统会误以为你要找对应ID的字符串资源——比如你输入的是5,系统就去查ID为#0x5的资源,可你压根没定义这个资源,这不就报找不到资源的异常了嘛!

修正代码

只需要把minput转换成字符串再传给Toast就行,最简单的写法:

temp = String.valueOf(editm.getText());
minput = Integer.parseInt(temp);
// 把int转成字符串再传入Toast
Toast.makeText(this, String.valueOf(minput), Toast.LENGTH_SHORT).show();

或者想加个提示文本也可以:

Toast.makeText(this, "你输入的数值是:" + minput, Toast.LENGTH_SHORT).show();

额外提醒

另外,你直接用Integer.parseInt()还有个隐患:如果EditText是空的或者输入了非数字内容,会抛出NumberFormatException,建议加个异常捕获处理,让代码更健壮:

try {
    // 先trim去掉首尾空格,避免输入空格导致转换失败
    String temp = editm.getText().toString().trim();
    int minput = Integer.parseInt(temp);
    Toast.makeText(this, String.valueOf(minput), Toast.LENGTH_SHORT).show();
} catch (NumberFormatException e) {
    Toast.makeText(this, "请输入有效的整数哦", Toast.LENGTH_SHORT).show();
    e.printStackTrace();
}

内容的提问来源于stack exchange,提问作者amff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:21:17