我正在使用操作栏和片段构建选项卡界面。我需要帮助将数据从容器活动发送到片段。
详细地说,我在容器活动中有工作对象。我根据工作对象中的信息(如公司详细信息、经验详细信息等)创建了几个选项卡。我需要将作业对象传递给这些片段,以便它可以显示相应的信息。
我创建了容器活动和选项卡片段。我需要一个关于如何在它们之间传递对象的示例。我不能使用intent.putExtra。我可以从片段访问父容器的对象吗?
任何帮助将不胜感激。
谢谢。
我正在使用操作栏和片段构建选项卡界面。我需要帮助将数据从容器活动发送到片段。
详细地说,我在容器活动中有工作对象。我根据工作对象中的信息(如公司详细信息、经验详细信息等)创建了几个选项卡。我需要将作业对象传递给这些片段,以便它可以显示相应的信息。
我创建了容器活动和选项卡片段。我需要一个关于如何在它们之间传递对象的示例。我不能使用intent.putExtra。我可以从片段访问父容器的对象吗?
任何帮助将不胜感激。
谢谢。
在您的活动中创建方法,例如getJob
将返回Job
对象及其信息
MyActivity extends Activity{
Job mJob;
public Job getJob(){
return this.mJob;
}
}
然后在你的片段中你这样做:
MyFragment extends Fragment{
@Override
public void onActivityCreated(){
super.onActivityCreated();
((MyActivity)this.getActivity()).getJob();
}
}
使用getActivity
和getJob();
获取对象的方法
有多种方法可以实现这一目标。
static
变量来保存您的数据并从片段内部访问该数据 - 这是最快的,但如果使用不当会产生不良的设计模式。Fragment-to-Fragment communication possible through the parent Activity
此处发布了一种方法:http: //developer.android.com/training/basics/fragments/communicating.html您可以使用示例代码来做一个Activity - Fragment data send
.a way to avoid using static data
(1.) 并包含使用的源代码示例ActivityGroup
“如果您需要访问 First 活动中的某些值而不对其进行静态引用,您可以考虑将您的活动放在 ActivityGroup 中。”
您选择的是您的喜好,这些只是几个选项!