经过两个片段之间的数据,而无需使用活动 [英] Pass data between two fragments without using activity
问题描述
我想通过两个片段之间的数据,而无需使用活动和片段的活动。
我不想使用活动这样的片段之间传递数据:沟通与其他片段
下面是我的情况:
我有一个父片段里面,有两个孩子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屋!