2017-12-05 43 views
0

내 앱을 리팩터링하고 현재 동일한 활동에서 두 개의 액티비티를 두 개의 프래그먼트로 다시 작성합니다. 내가 같이 Activity1Activity2을 다시 한 이제동일한 활동에서 조각 사이에 gson JsonObject를 전달하는 방법

intent = getIntent(); 
form = gson.fromJson(intent.getStringExtra("form"), JsonObject.class); 

:

activity1에 :

Intent intent = new Intent(this, Activity2.class); 
intent.putExtra("form", gson.toJson(form)); 
startActivity(intent); 

activity2에 이것은 내가 두 번째 활동으로 첫 활동으로 된 JSONObject를 GSON 보내는 데 사용하는 방법이었다 동일한 활동에있는 조각들도 조각에서 데이터를 보내고 검색하는 데 사용할 수있는 비슷한 접근법이 있습니까? 나는 intent를 매우 직관적으로 사용하는 것을 찾았지 만, 단편은 서로 통신하는 다른 방법을 사용한다고 생각했습니다. 당신의 표적으로 한 조각에

+0

당신이 활동 사이에 데이터를 전달해야 할 -> 조각 또는 조각 -> 조각? – diegoveloper

답변

1
Bundle args = new Bundle(); 
args.putString("form", gson.toJson(form)); 
secondFragment.setArguments(args); 

및 :

getArguments().getString("form"); 
+0

이 문장'getArguments(). getString ("form")'은 자동으로 gson 객체를 검색합니까? – Bargain23

+1

아니요, Gson 클래스를 사용하여 개체로 변환해야합니다. – diegoveloper