それにいくつかのパラメータを渡すことによって意思を開始するには?

StackOverflow https://stackoverflow.com/questions/2405120

質問

私は私のListActivityのコンストラクタでいくつかの変数を渡すしたいと思います。

私はこのコードを経由して活動を開始します:

startActivity(new Intent (this, viewContacts.class));

私は、同様のコードを使用したいのですが、コンストラクタに2つの文字列を渡します。どのように可能ですか?

役に立ちましたか?

解決

あなたは新しい意思を作成し、パラメータマップを入れてパラメータを渡すために:

Intent myIntent = new Intent(this, NewActivityClassName.class);
myIntent.putExtra("firstKeyName","FirstKeyValue");
myIntent.putExtra("secondKeyName","SecondKeyValue");
startActivity(myIntent);

開始アクティビティ内のパラメータ値を取得するためには、同じ意図にget[type]Extra()を呼び出す必要があります:

// getIntent() is a method from the started activity
Intent myIntent = getIntent(); // gets the previously created intent
String firstKeyName = myIntent.getStringExtra("firstKeyName"); // will return "FirstKeyValue"
String secondKeyName= myIntent.getStringExtra("secondKeyName"); // will return "SecondKeyValue"

あなたのパラメータは、あなたの代わりになどgetIntExtra()を使用するint型である場合 あなたは通常と同じように今、あなたはあなたのパラメータを使用することができます。

他のヒント

私はあなたがこのような何かをしたいと思います

Intent foo = new Intent(this, viewContacts.class);
foo.putExtra("myFirstKey", "myFirstValue");
foo.putExtra("mySecondKey", "mySecondValue");
startActivity(foo);

またはあなたが最初の束にそれらを組み合わせることができます。対応getExtra()ルーチンは、反対側のために存在します。以下のためのdevのガイドの意図話題のrel="noreferrer">

scroll top