今日の一言
こんにちは、針山散策を今日もほのぼのと行います。
今日は、Android StudioにおいてFragmentにクラスを渡したい事がありましたのでメモします。
以下を参考にさせていただきました。
Fragmentにクラスを渡す方法
これにより、メインアクティビティで使用していたインスタンス(クラス実体化したもの)を
遷移先のフラグメントでも扱うことができます。
クラスの扱いは、先頭のアドレスポインタを渡すことで
あたかも丸ごと渡しているように見せかけるだけなので、
このシリアライズ化は理解できました。
bundle.putSerializable("紐づき名", インスタンス);
とすることで、インスタンスの先頭番地を渡して、 あたかもクラス全体を渡しているように見せかけているのですね。
public class CLASS implements Serializable
{
…
}
{
…
}
FragmentManager fragmentManager= getSupportFragmentManager();
Fragment_xx fragment_xx= new Fragment_xx();
FragmentTransaction fragmentTransaction= fragmentManager.beginTransaction();
Bundle bundle= new Bundle( );
bundle.putSerializable( "CLASS_TEST", CLASS );
bundle.putInt( "SIDE", 1234 );
fragment_xx.setArguments( bundle );
fragmentTransaction.replace( R.id.fragment_Q, fragment_xx, null);
fragmentTransaction.addToBackStack( null );
fragmentTransaction.commit();
Fragment_xx fragment_xx= new Fragment_xx();
FragmentTransaction fragmentTransaction= fragmentManager.beginTransaction();
Bundle bundle= new Bundle( );
bundle.putSerializable( "CLASS_TEST", CLASS );
bundle.putInt( "SIDE", 1234 );
fragment_xx.setArguments( bundle );
fragmentTransaction.replace( R.id.fragment_Q, fragment_xx, null);
fragmentTransaction.addToBackStack( null );
fragmentTransaction.commit();
[今日のひとこと]
Javaプログラミング能力検定試験2級の過去問題集を購入してみました。独立志向で頑張ろう。