目前我一直潜入片段世界:http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity
我理解通过在片段中创建一个监听器然后在托管片段的Activity中实现它是从片段到Activity进行通信的好方法,但是如何从活动到片段进行通信?另一个听众?也许我并不完全理解听众在做什么。任何帮助解释如何从活动到片段进行交流的主题都将非常感激!
P.S。我目前正在将我制作的活动(B)转换为片段。我在开始活动B之前用来做一些来自活动A的intent.putExtra(“value”)所以这就是我要替换的东西...可能根本没有帮助你,但我想我会试着把它放进去透视我正在做什么。
答案 0 :(得分: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;
}
答案 1 :(得分:1)
就像您在创建活动时一样,您可以将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
。