如何将数据从片段发送到另一个活动?

Dha*_*u K 0 android android-intent android-fragments

我需要将数据从Fragment发送到另一个活动

我在HomeActivity下的LoadsFragment中使用此代码

Intent intent = new Intent(activity, LoadActivity.class);
intent.putExtra("loadsPosition",position);
activity.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

在另一个活动(LoadActivity)中接收数据

Intent intent=getIntent();    
String loadsPosition = intent.getStringExtra("loadsPosition");
Run Code Online (Sandbox Code Playgroud)

但意图没有额外的东西

请参阅下面的屏幕截图

从片段发送意图在第二次活动获得额外的在此输入图像描述

cri*_*007 9

但意图没有额外的东西

你的截图说它确实......

您的第二个屏幕截图显示processIntent(Bundle bundle),但第三个显示processIntent(Intent intent),所以您应该澄清哪个不起作用.但两个Bundles都不是null.

片段有自己的startActivity方法.您只需要父Activity创建Intent

Intent intent = new Intent(getActivity(), LoadActivity.class);
intent.putExtra("loadsPosition",position);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

最重要的是,您的位置是一个整数,但您尝试将其作为字符串,因此该字符串将为null

Intent intent=getIntent();    
int loadsPosition = intent.getIntExtra("loadsPosition", -1);
Run Code Online (Sandbox Code Playgroud)

Intent不应该为null,它应该有一个Bundle.如果此整数返回为-1,则返回此处的默认值,您应该使用较小的示例进行更多调试