2

目前我一直在潜入 Fragment 世界:http: //developer.android.com/guide/components/fragments.html#CommunicatingWithActivity

我知道通过在片段中创建一个侦听器然后在承载片段的 Activity 中实现它是从片段到 Activity 进行通信的好方法,但是如何从 Activity 到片段进行通信呢?另一个听众?也许我不完全理解听众在做什么。任何有关此主题的帮助解释如何从活动到片段进行通信将不胜感激!

PS我目前正在将我制作的活动(B)转换为片段。我曾经在开始 Activity B 之前从 Activity A 做一些 intent.putExtra("value") 所以这就是我想要替换的......可能对你没有帮助,但我想我会试着把它透视我在做什么。

4

2 回答 2

1

就像您在创建 Activity 时所做的那样,您可以将 a 传递BundleFragment.

在Fragment 类参考中有一个关于如何做到这一点的示例。

/**
 * 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背部。

于 2013-08-26T10:42:51.173 回答
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;
}
于 2013-08-26T10:34:58.053 回答