将JSON对象从活动传递到片段

时间:2016-05-18 08:59:47

标签: android android-fragments

我有一个使用Fragment的Activity。我只想将一个JSONObject从这个Activity传递给Fragment。我可以这样做吗?

3 个答案:

答案 0 :(得分:1)

这样做: 假设这是jsonObject: JSONObject obj = ...; 要添加您的片段,请执行以下操作:

<Your_fragment_name> myFrag=<Your_fragment_name>();
    Bundle bundle=new Bundle();
    bundle.putString("key",obj.toString());
    Frag frag=new Frag();
    frag.setArguments(bundle);
    getSupportFragmentManager().beginTransaction().replace(<your_container_id>,myFrag).commit();

然后在你的片段 onCreateView()中添加此内容以恢复json

 Bundle bundle=getArguments();
    String jsonString=bundle.getString("key");
    JSONObject obj;
    try {
        obj=new JSONObject(jsonString);
    } catch (JSONException e) {
        e.printStackTrace();
    }

答案 1 :(得分:0)

如果您的活动中有数据,那么您可以从片段中获取数据。尝试使用toString()将JSON转换为字符串,然后从片段中获取该字符串。

答案 2 :(得分:0)

您可以在活动中公开JSON对象,然后使用

在片段中访问它
getActivity().jsonObject