【发布时间】:2016-05-18 17:31:12
【问题描述】:
我有一个使用片段的活动。我只是想将此 Activity 中的 JSONObject 传递给 Fragment。我该怎么做?
【问题讨论】:
-
我认为您可以将 JSON 对象转换为 toString 从活动传递到片段,并从片段中的字符串生成 json 对象
我有一个使用片段的活动。我只是想将此 Activity 中的 JSONObject 传递给 Fragment。我该怎么做?
【问题讨论】:
这样做: 假设这是 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();
}
【讨论】:
如果您的活动中有数据,则可以从片段中获取。尝试使用 toString() 将 JSON 转换为字符串,然后从片段中获取该字符串。
【讨论】:
您可以在活动中公开 JSON 对象,然后您可以在片段中使用它访问它
getActivity().jsonObject
【讨论】: