この質問はばかげているように聞こえるかもしれませんが、私は知っています。アクティビティ名はいつ入れIntent.putExtra()
ますか?ある場合にはバンドルのみで余分に入れ、他の場合にはクラス名で渡します。コンストラクターIntent.putExtra(String, Bundle)
でアクティビティ名を既に渡したかどうかを使用する必要があるかどうか、少し混乱していますか?Intent
ご協力いただきありがとうございます!
この質問はばかげているように聞こえるかもしれませんが、私は知っています。アクティビティ名はいつ入れIntent.putExtra()
ますか?ある場合にはバンドルのみで余分に入れ、他の場合にはクラス名で渡します。コンストラクターIntent.putExtra(String, Bundle)
でアクティビティ名を既に渡したかどうかを使用する必要があるかどうか、少し混乱していますか?Intent
ご協力いただきありがとうございます!
putExtra(String, Bundle)
vs putExtras(Bundle)
( with s )を意味していると思います。
1 つ目は、指定したキーの値としてバンドルを追加します。バンドルは単純なオブジェクト値です。
2 つ目は、提供されたバンドルのすべてのキーと値のペアをインテントに追加します。この場合、バンドル自体ではなく、バンドルのコンテンツがインテントに追加されます。
Map
それらをインターフェースのように考えてください:
Map.put(String key, Object value)
対
Map.putAll(Map anotherMap)
アプローチはここでの違いです。を使用すると、Bundle
ほぼすべてのタイプをその中に格納できます。
Bundle mBundle = new Bundle();
mBundle.put(key, value);
そしてそれをアクティビティに渡します
mIntent.putExtras(mBundle);
情報を受け取る他のアクティビティでは、次のようにバンドルのコンテンツを取得します。
Bundle extras = getIntent().getExtras();
bundle
次のように各要素を取得します。
extras.getString("myKey")