【问题标题】:Android - Communicating from Activity to fragment that it hostsAndroid - 从 Activity 与其托管的片段进行通信
【发布时间】:2013-08-26 10:23:21
【问题描述】:
【问题讨论】:
标签:
android
android-fragments
【解决方案1】:
我可能已经找到了解决方案,哈哈。我会做一些检查以确保它有效并稍后确认。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Bundle b = getActivity().getIntent().getExtras();
wid = b.getString("wid");
rid = b.getString("rid");
View view = inflater.inflate(R.layout.categoryfragment, container, false);
return view;
}
【解决方案2】:
就像创建 Activity 时一样,您可以将 Bundle 传递给 Fragment。
Fragment class reference 上有一个关于如何做到这一点的示例。
/**
* Create a new instance of DetailsFragment, initialized to
* show the text at 'index'.
*/
public static DetailsFragment newInstance(int index) {
DetailsFragment f = new DetailsFragment();
// Supply index input as an argument.
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);
return f;
}
使用getArguments() 找回Bundle。