Sid*_*yas 4 android android-fragments android-activity android-fragmentactivity
我想在不使用活动和片段活动的情况下在两个片段之间传递数据.
我不想使用以下活动在片段之间传递数据:与其他片段进行通信
以下是我的情景:
我有一个Parent片段,里面有两个子片段.现在我需要在这两个片段之间传递数据.如何实现这一点?
我调查了这个: 事件总线,但没有得到碎片的工作示例.
在片段之间传递数据还有其他选择吗?
任何帮助将不胜感激.
根据InnocentKiller的回答编辑:
在FragmentOne中,我实现了:
FragmentTwo = new FragmentTwo();
Bundle bundle = new Bundle();
bundle.putString("Hello", "My name is Siddharth");
fragment.setArguments(bundle);
Run Code Online (Sandbox Code Playgroud)
在FragmentTwo中,我实现了:
Bundle bundle = this.getArguments();
String myInt = bundle.getString("Hello","Test");
mStartTripButton.setText(myInt);
Run Code Online (Sandbox Code Playgroud)
Pan*_*ora 16
在活动/片段,片段/片段/,活动/活动,类/类之间交换数据的最佳方式,使得常见的单例类如下:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
DataHolderClass.getInstance().setDistributor_id("your data");
Run Code Online (Sandbox Code Playgroud)
String _data = DataHolderClass.getInstance().getDistributor_id();
Run Code Online (Sandbox Code Playgroud)
您可以使用EventBus https://github.com/greenrobot/EventBus在Android中传递任何复杂对象.
将对象从一个Activity传递到另一个Activity的示例:
在EventBus上添加您的对象:
EventBus.getDefault().postSticky(anyObject);
startActivity(new Intent(getActivity(), SomeActivity.class));
Run Code Online (Sandbox Code Playgroud)
SomeActivity中的任何地方:
AnyObject anyObject = EventBus.getDefault().getStickyEvent(AnyObject.class);
Run Code Online (Sandbox Code Playgroud)
此测试只是为了表明它适用于各种活动,您可以调用getStickyEvent以在代码中的任何位置获取任何对象.
因此,您可以在Fragment A中发布一个对象,并使用片段B中的getStickyEvent来检索它.
如果您希望从一个地方移动到另一个地方有很多参数和/或复杂对象,这将非常方便.只需创建一个包含参数的getter/setter的"holder"对象,然后传递它.比分别传递它们并以某种方式序列化复杂对象要简单得多.
| 归档时间: |
|
| 查看次数: |
8051 次 |
| 最近记录: |