は、それらの断片をホスティング、変数を定義し、
今
public class HomeActivity{
public User mUser;
...
}
、あなたのフラグメントでは、あなたからの応答を取得あなたのApiは、以下のように変数User
を初期化します:
@Override
public void onClick(View view) {
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, getString(R.string.RESTAPI_URL), null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d("Response: ",response.toString());
Gson gson = new Gson();
User user = gson.fromJson(String.valueOf(response),User.class);
// initialise User variable in Home Activity
((HomeActivity)getActivity()).mUser = user;
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("ErrorResponse: ",error.toString());
}
});
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(jsonObjectRequest);
}
と仮定すると、あなたのUser
クラスがParcelableインタフェースを実装し、そうでない場合は、単にそのクラスParcelableを作ります。これはJavaのSerializable
と同じですが、Parcelable
はAndroid
に最適化されています。あなたが第2のフラグメントをロードする際
最後には、単に以下のように第2のフラグメントにユーザーオブジェクトを渡す:
SecondFragment secondFragment = new SecondFragment();
Bundle bundle = new Bundle();
bundle.putParcelable("ARG_USER", user);
secondFragment.setArguments(bundle);
//...code for loading second fragment
のリンクを確認できますか? –
私はオブジェクトを渡す必要があります – Narendhran
あなたのモデルクラスをシリアル化し、フラグメント化されたオブジェクトを渡すputSerializable関数でバンドルにオブジェクトを配置します。 – nnn