LJXZZZZZ 2022-06-05 15:49 采纳率: 100%
浏览 35
已结题

为什么在recyclerview的适配器中无法使用startActivityForResult

郭霖,您好:

在学习完Intent之后我使用recyclerview想要实现一个在好友列表显示最新消息的功能,却发现无法在适配器中使用startAtivityForResult方法,导致无法通过Intent携带数据回调上一个Activity
问题代码如下:

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(context).inflate(R.layout.msg_item, parent, false)
val holder = ViewHolder(view)
holder.itemView.setOnClickListener {
val position = holder.adapterPosition
val msg = MsgList[position]
val intent = Intent(context, ChatActivity::class.java).apply {
putExtra(ChatActivity.FRIEND_NAME, msg.name)
}
context.startActivityForResult(intent, 1) //问题代码
}
return holder
}

运行结果及报错内容

无法使用显示红

我的解答思路和尝试过的方法
我想要达到的结果

实现跳转并可以回传数据

  • 写回答

1条回答 默认 最新

  • 三杯五岳 2022-06-05 17:08
    关注

    可以的,只是Context不行,需要把Context转为Activity,或者干脆传一个进去都可以

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月6日
  • 创建了问题 6月5日

悬赏问题

  • ¥15 关于#单片机#的问题,请各位专家解答!
  • ¥15 博通raid 的写入速度很高也很低
  • ¥15 目标计数模型训练过程中的问题
  • ¥100 Acess连接SQL 数据库后 不能用中文筛选
  • ¥15 用友U9Cloud的webapi
  • ¥20 电脑拓展屏桌面被莫名遮挡
  • ¥20 ensp,用局域网解决
  • ¥15 Python语言实验
  • ¥15 我每周要在投影仪优酷上自动连续播放112场电影,我每一周遥控操作一次投影仪,并使得电影永远不重复播放,请问怎样操作好呢?有那么多电影看吗?
  • ¥20 电脑重启停留在grub界面,引导出错需修复