从片段中的活动中获取数据

时间:2014-02-21 08:03:32

标签: android android-activity fragment

我在我的活动中设置了一个片段,但我想知道如何将活动中的数据传递到片段中?

例如,这是我的代码:

    public class MyFragment extends Fragment 
{   
    private MyData _myData;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    {   
        // Inflate the layout for this fragment 
        return inflater.inflate(R.layout.custom_fragment, container, false);

        MyActivity activity = (MyActivity) getActivity(); // Unreachable code error here
        _myData = activity.getMyData();
    }
}

我需要能够访问片段中MyData对象的内容。但是,当我尝试上面的代码时,我收到“无法访问的代码”错误,即使getMyData()MyActivity类中的公共方法。

2 个答案:

答案 0 :(得分:5)

这一行是问题

return inflater.inflate(R.layout.custom_fragment_make_assembly_machine_location, container, false);

return语句使函数... return!,因此下面的代码永远不会被执行!

答案 1 :(得分:2)

你有一个返回声明

MyActivity activity = (MyActivity) getActivity();

将return语句移到最后一个

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    {   
        MyActivity activity = (MyActivity) getActivity(); 
        _myData = activity.getMyData();
        return inflater.inflate(R.layout.custom_fragment, container, false);
    }

您也可以查看

Send data from activity to fragment in android