我在我的活动中设置了一个片段,但我想知道如何将活动中的数据传递到片段中?
例如,这是我的代码:
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
类中的公共方法。
答案 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);
}
您也可以查看