当前位置: 首页 > 知识库问答 >
问题:

片段中的onActivityResult()始终接收空意图

巩阳秋
2023-03-14

我的代码中有以下工作流程。我有片段A,它启动一个新的活动B使用starActivityForResult(意图,请求代码)。活动B有一个片段,比如片段C,它包含一个listview(它的适配器有一个arraylist)和下面的编辑文本,可以将新值添加到listview中。

我打算将数据发送回片段A。我在片段C中实现了一个接口,该接口在同一片段的onPause()方法中调用。

@Override
public void onPause() {
    // TODO Auto-generated method stub
    OnSubtaskExitListener onSubtaskExitListener = (OnSubtaskExitListener) getSherlockActivity();
    onSubtaskExitListener.onExit(Subtasks);
    super.onPause();
}

子任务是在“编辑文本”中从“添加”按钮添加新项时更新的arraylist。

我在包含片段C的活动B中实现了这个接口。

@Override
public void onExit(ArrayList<HashMap<String, String>> subtasks) {
....
intent.putExtra("ResultArray", stringArray);
setResult(RESULT_OK, intent);
finish();

请注意,片段A中调用了startActivityForResult。因此,使用了setResult。

问题是:在片段A的onActivityResult(int requestCode,int resultCode,Intent data)中,Intent data总是空的。我用过Android。util。登录活动B中的onExit方法,查看以put extra发送的数据是否为空,例如Log。d(“数组结果”,stringArray[0]。toString()) 但onActivityResult()总是获取空数据

请帮我找到窃听器。谢谢:)


共有1个答案

东门俊民
2023-03-14
匿名用户

AFAIK你不能设置活动结果后,onPence()已被调用。在onActivityResult()中设置活动导致onStop()onDestroy()可能会始终为空。

我不知道您为什么要在onPause()方法中调用setResult(),但也许您可以将其移动到onBackPressed()onKeyDown()方法。这应该能解决你的问题。

 类似资料:
  • 我在一个活动的片段中有一个列表,它启动了一个detailactivity,其中包含一个片段,其中包含关于所选对象的信息。 如果选择了其中一个操作项,则活动的结果为OK,如果再次选择,则结果切换回Cancelled。我只想在用户导航回列表时传递这个结果。我已经消除了几个问题,并且在listfragment中使用了onActivityResult函数,但结果代码不是我传递的。调试时,我还注意到list

  • 我总是用下面的代码得到。 这是我的process代码 但如果coderesultcode正常工作。 这是我的

  • 下面是片段。请注意,我已经恢复到以前的提交,因此丢失了最近的修改,但请查看我编写的代码,然后才注意到始终等于0() 以下是当检测到活动后按: 以下是NoteActivity接收结果调用的方式。 null 我在我的项目上浪费了很多重要的时间,只是想知道是什么使resultCode和requestCode的值丢失了我发送的值。 任何帮助和指导都将不胜感激。非常感谢!

  • 问题内容: 我尝试@Inject这样的字段(它是一个jar模块,在META-INF下存在空bean.xml): IDataProvider接口 数据提供者实现import javax.enterprise.context.ApplicationScoped; 我尝试注入DataProvider的类 如果我在Wildfly上运行此命令,则注入的dataProvider始终为null(DataCont

  • 我正在使用FCM进行消息推送,我正在将数据从通知发送到我正在打开的活动。 建筑通知规范: 在我的活动中,我得到了如下意图: 但问题是,每次Intent Extras在活动中为空时,我都检查了我在社区中找到的所有可能的原因,但每次响应都是相同的。 我试过下面提到的链接 Intent的额外值始终为空 Android通知PendingIntent Extras null 总是从通知意图android获取

  • 我开发了一个Android应用程序,提示日历应用程序编辑事件。 我使用打开日历。编辑并保存事件后,在中始终为0。 无论我在日历应用程序中单击“保存”还是“取消”,总是给出0。 另外,我需要从日历intent中获取数据,但是onActivityResult中的intent“data”也返回null。 有人能解释为什么会这样吗?有没有办法知道用户点击“保存”还是“取消”?