如何将RecyclerView Adapter中的AlertDialog改为Intent跳转至其他Activity
修复方案
- 你当前提供的适配器代码中没有加入Intent跳转逻辑,仅实现了点击编辑按钮弹出修改弹窗、更新数据库的功能,跳转不生效是必然结果。请在数据库更新操作完成后补充跳转代码:
userDao.update(user1); // 新增跳转逻辑开始 alertDialog.dismiss(); // 替换下方的YourTargetActivity为你自己创建的Activity类名 Intent intent = new Intent(context, YourTargetActivity.class); // 如需传递参数可添加如下逻辑,不需要可以删除 intent.putExtra("user_name", name.getText().toString()); ((Activity) context).startActivity(intent); // 新增跳转逻辑结束 - 请检查项目的
AndroidManifest.xml文件中是否已经注册你创建的新Activity,未注册的话跳转不会生效,注册示例如下:<application ...> <!-- 其他已有Activity注册 --> <activity android:name=".YourTargetActivity" android:exported="false" /> </application> - 可选优化:跳转前可以先刷新当前列表项的展示,让修改后的数据立刻显示在列表上:
notifyItemChanged(viewHolder.getAdapterPosition());
注意:如果后续要优化代码结构,建议通过接口回调的方式把点击事件交给Adapter的宿主Activity处理,避免在Adapter中直接强转Activity上下文引发内存泄漏问题。
内容的提问来源于stack exchange,提问作者Ahmad Fariz Dwi Putra
相关产品推荐
相关产品推荐

