传递ListView点击位置int到新Activity后App崩溃问题求助
崩溃原因
从你提供的Logcat可以定位到核心错误:android.content.res.Resources$NotFoundException: String resource ID #0x2
Android的TextView.setText()存在两类重载逻辑:
- 若传入
CharSequence类型参数:直接将参数内容作为文本展示 - 若传入
int类型参数:系统会将该int值识别为strings.xml中定义的字符串资源ID,去资源表查找对应文本
你在BookingActivity中直接把拿到的列表位置int值传给setText(),系统会尝试查找ID等于该位置值的字符串资源,找不到对应资源就会触发崩溃,你的参数传递逻辑本身是没有问题的。
修复方案
只需要将int类型的位置值转为字符串类型后再调用setText()即可,将BookingActivity中的
textView.setText(intValue);
修改为以下任意一种写法都可:
// 方法1:显式转为String textView.setText(String.valueOf(intValue)); // 方法2:拼接空字符串完成隐式转换 textView.setText(intValue + ""); // 方法3:使用Integer的转字符串方法 textView.setText(Integer.toString(intValue));
内容的提问来源于stack exchange,提问作者forsure
相关产品推荐
相关产品推荐

