经过两个片段之间的数据,而无需使用活动 [英] Pass data between two fragments without using activity

查看:123
本文介绍了经过两个片段之间的数据,而无需使用活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过两个片段之间的数据,而无需使用活动和片段的活动。​​

我不想使用活动这样的片段之间传递数据:沟通与其他片段

下面是我的情况:

我有一个父片段里面,有两个孩子fragments.Now我需要的是这两个fragments.How之间传递数据,以实现这一目标?

我看着这样的:事件总线,但没有得到工作示例片段

是否有任何其他的替代传递片段之间的数据?

任何帮助将AP preciated。

编辑按InnocentKiller的回答:

在FragmentOne,我已经实现了:

  FragmentTwo =新FragmentTwo();
    束束=新包();
    bundle.putString(你好,我的名字是亚洲时报Siddharth);
    fragment.setArguments(包);
 

在FragmentTwo,我已经实现了:

 捆绑包= this.getArguments();
    字符串敏= bundle.getString(你好,测试);
    mStartTripButton.setText(敏);
 

解决方案

之间交换活动/片段,片段/片段/,活动/活动,类/班,使数据的最佳方式常见的单例类,如:

 公共类DataHolderClass {
私有静态DataHolderClass数据对象= NULL;

私人DataHolderClass(){
    //左侧空白故意
}

公共静态DataHolderClass的getInstance(){
    如果(数据对象== NULL)
        数据对象=新DataHolderClass();
    返回数据对象;
}
私人字符串distributor_id ;;

 公共字符串getDistributor_id(){
    返回distributor_id;
 }

 公共无效setDistributor_id(字符串distributor_id){
    this.distributor_id = distributor_id;
 }
}
 

现在从任何位置设置(片段,活动类)在任何情况下,然后再移动到新的屏幕

  DataHolderClass.getInstance()setDistributor_id(数据)。
 

现在随时随地(片段,活动类)

 字符串_data = DataHolderClass.getInstance()getDistributor_id()。
 

I want to pass data between two fragments without using activity and fragment activity.

I don't want to pass data between fragments using activity like this : Communicating with Other Fragments

Below is my scenario :

I have one Parent fragment and inside that there are two child fragments.Now my need is to pass data between these two fragments.How to achieve this?

I looked into this : Event Bus but not getting working example for fragments.

Is there any other alternative to pass data between fragments?

Any help will be appreciated.

Edited as per InnocentKiller's answer :

In FragmentOne , I have implemented :

    FragmentTwo = new FragmentTwo();
    Bundle bundle = new Bundle();
    bundle.putString("Hello", "My name is Siddharth");
    fragment.setArguments(bundle);

In FragmentTwo, I have implemented :

    Bundle bundle = this.getArguments();
    String myInt = bundle.getString("Hello","Test");
    mStartTripButton.setText(myInt);

解决方案

Best Way to exchange data between activity/fragments, fragment/fragment/, activity/activity, class/ class, make a common singleton class like:

public class DataHolderClass {
private static DataHolderClass dataObject = null;

private DataHolderClass() {
    // left blank intentionally
}

public static DataHolderClass getInstance() {
    if (dataObject == null)
        dataObject = new DataHolderClass();
    return dataObject;
}
private String distributor_id;;

 public String getDistributor_id() {
    return distributor_id;
 }

 public void setDistributor_id(String distributor_id) {
    this.distributor_id = distributor_id;
 }
}

now set from anywhere(Fragment, activity, class) at any event before you move to new screen

DataHolderClass.getInstance().setDistributor_id("your data");

now get anywhere(Fragment, activity, class)

 String _data = DataHolderClass.getInstance().getDistributor_id();

这篇关于经过两个片段之间的数据,而无需使用活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆