为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复:调用 Toast 时出现 Resources$NotFoundException

如何修复:调用 Toast 时出现 Resources$NotFoundException

拉莫斯之舞 2023-02-23 18:17:03
我想在 my 中单击某个项目时在 a 中显示Selecteditemposition(a 中单击的项目数Listview),但此事件中的任何方法都崩溃了。ToastListview这是崩溃报告:2019-06-27 20:54:02.681 13006-13015/? E/ample.basicipt: Failed to send DDMS packet REAQ to debugger (-1 of 20): Broken pipe2019-06-27 20:54:17.470 13006-13006/com.example.basiciptv E/ample.basicipt: No package ID ff found for ID 0xffffffff.2019-06-27 20:54:17.472 13006-13006/com.example.basiciptv E/AndroidRuntime: FATAL EXCEPTION: main    Process: com.example.basiciptv, PID: 13006    android.content.res.Resources$NotFoundException: String resource ID #0xffffffff        at android.content.res.Resources.getText(Resources.java:348)        at android.widget.Toast.makeText(Toast.java:307)        at com.example.basiciptv.MainActivity$4.onItemClick(MainActivity.java:336)        at android.widget.AdapterView.performItemClick(AdapterView.java:318)        at android.widget.AbsListView.performItemClick(AbsListView.java:1192)        at android.widget.AbsListView$PerformClick.run(AbsListView.java:3169)        at android.os.Handler.handleCallback(Handler.java:873)        at android.os.Handler.dispatchMessage(Handler.java:99)        at android.os.Looper.loop(Looper.java:193)        at android.app.ActivityThread.main(ActivityThread.java:6692)        at java.lang.reflect.Method.invoke(Native Method)        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)这是代码:list.setOnItemClickListener(new AdapterView.OnItemClickListener() {    public void onItemClick(AdapterView<?> parent, View view,                            int position, long id) {        boolean co = true;        int lineNumber = listview.getSelectedItemPosition();        Toast.makeText(MainActivity.this, lineNumber, Toast.LENGTH_SHORT).show();    }});我究竟做错了什么?
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

lineNumber是一个整数,所以你正在使用这个重载makeText()

makeText(Context context, int resId, int duration)

它需要一个整数字符串资源 id,因此lineNumber被认为是一个字符串资源 id,当然不是,所以它找不到。

相反,您应该做的是转换lineNumber为字符串并使用以下重载makeText()

makeText(Context context, CharSequence text, int duration)

所以这样做:

Toast.makeText(MainActivity.this, String.valueOf(lineNumber), Toast.LENGTH_SHORT).show();



查看完整回答
反对 回复 2023-02-23
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

所以 linenumber 已经作为位置返回 onclick 方法。

Toast.maketext(getApplicationContext,position.toString(), Toast.LENGHT_LONG).show();



查看完整回答
反对 回复 2023-02-23
  • 2 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信