看板 AndroidDev 關於我們 聯絡資訊
請問大家一個小問題, 在傳遞Activity參數之間的程式寫法, 我有在書上看過這樣的程式碼, 單純用intent傳遞參數 Intent intent = new Intent(); intent.putExtra("KEY_MONTH", intMonth); intent.putExtra("KEY_DAY", intDay); startActivity(Activity1.this, Activity2.class); 另一種方式是使用Bundle的方式 Intent intent = new Intent(); Bundle bundle = new bundle(); bundle.putInt("KEY_MONTH", intMonth); bundle.putInt("KEY_DAY", intDay); intent.putExtras(bundle); startActivity(Activity1.this, Activity2.class); 想請問這樣傳遞值的方式有什麼差異呀? 我試了幾次感覺都可以達到相同功能, 但就是不曉得對於程式的話是差在哪一邊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.52.201
hsnu114444:bundle讓你傳遞參數的方式比較清楚,通常你不會只 02/23 21:07
hsnu114444:一兩個東西進去,而是很多個,如果全部都用key的方式 02/23 21:08
hsnu114444:塞進intent,命名不但很不方便還會很雜亂。 02/23 21:08
hsnu114444:功能的話應該是沒有差別... 02/23 21:09
hsnu114444:intent可以連續呼叫putXXX(), bundle不行 02/23 21:12
pokk:所以執行結果相同,只是在於寫程式的習慣不同而已吧!? 02/23 21:18
uranusjr:就這個例子是這樣, 但有些東西沒辦法直接當 extra 放進去 02/23 21:21
uranusjr:這種時候就非得用 Bundle 不可了 02/23 21:21