【Android】遷移先への値の受け渡し
画面遷移元から画面遷移先へ値を渡す方法と、画面遷移先での値の取得方法について書いていきたいと思います。
遷移元で値を渡す側のコード
Intent intent = new Intent(MainActivity.this, SecondActivity.class); //Intentで受け渡す情報をセット intent.putExtra("key", "value"); //Intentを受け渡す作業を開始 startActivity(intent);
遷移先で値を受け取る側のコード
//Intentを取得 Intent intent = getIntent(); //intentから指定キーの文字列を取得する String data = intent.getStringExtra("key");
今回は「getStringExtra」で文字列を取得するメソッドを使いましたが、取得したい型によってメソッドが違うみたいなので調べてみました。
Intentで値を取得する際のメソッドの種類
型 | メソッド |
---|---|
真偽値の配列(boolean) | getBooleanArrayExtra("キー") |
真偽値(boolean) | getBooleanExtra("キー", デフォルト値) |
バンドル(Bundle) | getBundleExtra("キー") |
バイト配列(byte) | getByteArrayExtra("キー") |
バイト(byte) | getByteExtra("キー", デフォルト値) |
文字配列(char) | getCharArrayExtra("キー") |
文字(char) | getCharExtra("キー", デフォルト値) |
文字シーケンス配列(CharSequence) | getCharSequenceArrayExtra("キー") |
文字シーケンスの配列(ArrayList) | getCharSequenceArrayListExtra("キー") |
文字シーケンス(CharSequence) | getCharSequenceExtra("キー") |
浮動小数点数配列(double) | getDoubleArrayExtra("キー") |
浮動小数点数(double) | getDoubleExtra("キー", デフォルト値) |
浮動小数点数配列(float) | getFloatArrayExtra("キー") |
浮動小数点数(float) | getFloatExtra("キー", デフォルト値) |
整数配列(int) | getIntArrayExtra("キー") |
整数(int) | getIntExtra("キー", デフォルト値) |
整数オブジェクトの配列(ArrayList) | getIntegerArrayListExtra("キー") |
整数配列(long) | getLongArrayExtra("キー") |
整数(long) | getLongExtra("キー", デフォルト値) |
オブジェクトの一時的保管領域配列(Parcelable) | getParcelableArrayExtra("キー") |
オブジェクトの一時的保管領域配列(ArrayList) | getParcelableArrayListExtra("キー") |
オブジェクトの一時的保管領域(T) | getParcelableExtra("キー") |
シリアライズ(Serializable) | getSerializableExtra("キー") |
整数配列(short) | getShortArrayExtra("キー") |
整数(short) | getShortExtra("キー", デフォルト値) |
文字列配列(String[]) | getStringArrayExtra("キー") |
文字列配列(ArrayList) | getStringArrayListExtra("キー") |
文字列(String) | getStringExtra("キー") |
こんなにも種類があるのですね。
型によって使い分けるのが大変ですが、基本「get◯◯Extra」で◯◯には引き出された情報の型を入れてあげればいいみたいです。