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

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

韩恺
2023-03-14

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

我在Homeactive下的LoadsFraank中使用此代码

Intent intent = new Intent(activity, LoadActivity.class);
intent.putExtra("loadsPosition",position);
activity.startActivity(intent);

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

Intent intent=getIntent();    
String loadsPosition = intent.getStringExtra("loadsPosition");

但是意图没有附加条件

请看下面的截图

共有3个答案

孟修竹
2023-03-14

片段使用中

Intent intent = new Intent(getActivity, LoadActivity.class);
intent.putExtra("loadsPosition",position);
activity.startActivity(intent);

在LoadActivity中

String loadsPosition = getIntent().getStringExtra("loadsPosition");
微生城
2023-03-14

尝试使用接口。

任何应该将数据传递回其HomeActivity的片段都应该声明一个接口来处理和传递数据。然后确保HomeActivity实现了这些接口。例如:

在您的片段中,声明接口...

public interface OnDataPass {
    public void onDataPass(String data);
}

然后,将HomeActivity类的接口实现连接到onAttach方法中的片段,如下所示:

OnDataPass数据传递程序;

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    dataPasser = (OnDataPass) context;
}

在片段中,当需要处理数据传递时,只需在dataPasser对象上调用它:

public void passData(String data) {
    dataPasser.onDataPass(data);
}

最后,在实现OnDataPass的家庭活动中...

@Override
public void onDataPass(String data) {
    Log.d("LOG","hello " + data);
}
太叔俊侠
2023-03-14

但是意图没有附加条件

你的屏幕截图显示它确实。。。

您的第二个屏幕截图显示了Process Intent(Bundle bundle),但第三个显示了Process Intent(Intent Intent),因此您应该澄清哪个不起作用。但两个捆绑包都不是空的。

片段有自己的startActivity方法。您只需要父活动来创建意图

Intent intent = new Intent(getActivity(), LoadActivity.class);
intent.putExtra("loadsPosition",position);
startActivity(intent);

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

Intent intent=getIntent();    
int loadsPosition = intent.getIntExtra("loadsPosition", -1);

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

 类似资料:
  • 我想在片段的活动中使用一些文本视图(cityField,updatedField)。我知道在活动中使用它们会更容易,但问题是,由于要获取一些JSON数据,我不得不在Fragment上加入一些代码 我已经得到了活动代码的ID 现在我想在我的片段中使用它们 所以问题是 - 这可能吗?如果可能,如何? 我已经检查了这个网站上的一些答案 - 在Android中将数据从活动发送到片段 如何使用捆绑包将数据从

  • 我需要拍照并发送到主活动并发送到第三活动 这是MainActivity的代码 我有任何错误,但当我试图拍摄一张照片时,我得到这样的信息:不幸的是,第一相机停止了,我的问题是什么?

  • 次要活动(通过意图向主活动发送“endpoint”字符串): 主活动(从次要活动获取字符串): 在Fragment类上,我试图在TextView上显示数据: 如何修复它并将字符串从一个活动发送到另一个活动上的片段? 下面是XML:

  • 我需要一些暑期项目的帮助 这是我的事件片段 这是我的MyList片段 我正在使用RecyclerViewCardView显示事件。其想法是,用户可以单击每张卡片右侧的大加号,卡片将显示在MyList片段中。我想问一下,是否可以将一张卡直接从一个片段转移到另一个片段?而且,这两个片段都包含在同一个活动中,这使得它有点棘手(我还没有找到任何可用的解决方案)。 如果不可能,另一种方法是将CardView

  • 我目前正在做一个项目,我需要帮助。 我想发送的名称,总数量和总价的一个产品的数量在我的添加到购物车活动。 @override public void onListClick(final ItemInfo item){ 上面应该有什么代码发送到购物车活动?? toast.maketext(mainactivity.this,“added To cart”,toast.length_short).sh

  • 我知道的一种方法是通过活动。我们可以将数据从一个片段发送到另一个活动,再从一个活动发送到另一个片段。还有其他方法吗?