Bundle

Bundleは、あるオブジェクトから別のオブジェクトに複数のパラメータを渡すのに便利なクラス・・・。

Bundle | Android Developers

いろいろなところで使われるが、今回はIntentで起動したActivityにパラメータを渡す・・・。

activity_main.xmlで、

strings.xmlで、

という感じでButton1を用意・・・。

MainActivity.java側では、

Button1が押されたら、Bundle型のargsオブジェクトを生成し、putString, putInt, putBooleanでそれぞれパラメータを登録・・・。
Bundleオブジェクトごと登録できるputExtrasでargsをintent1に登録し、startActivityで起動・・・。

SubActivity.java側では、

getIntentで渡されたintentを取得・・・。
intent.getExtrasでBundle型argsとして取り出して、args.getStringでキー"str"の値、args.getIntで"num"の値、args.getBooleanで"bool"の値を取り出す・・・。
あとはTextViewにそれらの値を連結した文字列をセット・・・。
(別々のTextViewを用意せずに、1つのTextViewに文字列連結でやってしまって申し訳ない・・・。)

f:id:BG1:20170108021116p:plain

Button1を押すと、

f:id:BG1:20170108021129p:plain

このようにBundleでパラメータが渡されている・・・。

Sample/android/Bundle/Bundle/src/Bundle at master · bg1bgst333/Sample · GitHub