【问题标题】:Why is my activity calling onDestroy when I try to call onActivityForResult from adapter?当我尝试从适配器调用 onActivityForResult 时,为什么我的活动调用 onDestroy?
【发布时间】:2016-06-02 06:48:01
【问题描述】:

在主要活动中有一个具有 RecyclerView 的片段。当用户单击 RecyclerView 中的项目时,我从我的适配器调用((Activity)v.getContext()).startActivityForResult(intent, Config.REQUEST_ATTENDEES),并在我的主要活动中的onActivityResult 方法上处理了这个请求。并从onActivityResult 再次膨胀片段。我的onActivityResult 被触发,但在被触发后,我的主要活动调用onDestroy。以下是我查看的资源:

can we call startActivityForResult from adapter?

onActivityResult no longer being called after onDestroy

我认为第二个可能是我的问题,但我不确定,因为在我的适配器中,(Activity)v.getContext() 应该是我的主要活动。任何建议都会很好。

【问题讨论】:

  • 是的,您的上下文可能不是当前活动的参考。请检查您的 RecyclerView 适配器构造函数是否从片段传递正确的上下文?

标签: android android-fragments android-adapter android-lifecycle startactivityforresult


【解决方案1】:

你可以试试这个: getActivity().startActivityResult(intent,Configs.REQUEST_ATTENDEES)

【讨论】:

  • 我无法在viewHolder.getCv().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //I start activity here for result } });中调用getActivity()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多