Bundle 包括幾個動作流程:
送出:
1.建立 bundle
2.設定 bundle 內容
3.將 bundle 交給 intent 傳遞
接收:
1.接收 bundle
2.取得 bundle 內容
來看一下實際的範例吧!
送出:
Intent intent = new Intent(MainActivity.this,Activity2.class); Bundle bundle = new Bundle(); bundle.putString("key", c); intent.putExtras(bundle); startActivity(intent);
Bundle bundle = this.getIntent().getExtras(); c = bundle.getString("key");
java 對於變數的型態是非常嚴格的,因此在我們建立 bundle 內容時,就必須要先宣告好他是 String 或是 Int。而接收時就要按照對應的方式進行接收。
例如:
bundle.putString 對應到 bundle.getString()
bundle.putInt 對應到 bundle.getInt()
例如:
bundle.putString 對應到 bundle.getString()
bundle.putInt 對應到 bundle.getInt()
bundle 可以容納多組的變數內容,只需要重複宣告 put 的內容就可以了
例如:
Bundle bundle = new Bundle();
bundle.putString("key", c);
bundle.putInt("key2", c2);
intent.putExtras(bundle);
就可以傳遞 key 和 key2 兩組參數給下一個 Intent
例如:
Bundle bundle = new Bundle();
bundle.putString("key", c);
bundle.putInt("key2", c2);
intent.putExtras(bundle);
就可以傳遞 key 和 key2 兩組參數給下一個 Intent
謝謝大大!!
回覆刪除想請問大大一個問題
如果第一頁要傳到第三頁,也就是要在第二頁寫第一頁傳來的的值送到第三頁嗎
理論上是的
刪除不過有個很蠢的方式也可以
http://wolf-android.blogspot.tw/2015/10/android-sharedpreferences.html
直接把值存起來如何