我有一个使用Fragment的Activity。我只想将一个JSONObject从这个Activity传递给Fragment。我可以这样做吗?
答案 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