Как запустить Intent, передав ему некоторые параметры?

Я хотел бы передать некоторые переменные в конструкторе моей 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() вместо этого и т. д. Теперь вы можете использовать ваши параметры, как обычно.

Я думаю, что вы хотите что-то вроде этого:

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

или вы можете сначала объединить их в связку. Соответствующие процедуры getExtra() существуют для другой стороны. Смотрите тему намерений в руководстве разработчика для получения дополнительной информации.

putExtra(): этот метод отправляет данные другому действию, а в параметре мы должны передать пару ключ-значение.

Синтаксис: intent.putExtra("key", value);

Например: intent.putExtra("full_name", "Vishnu Sivan");

Intent intent=getIntent(): Он получает намерение из предыдущего действия.

fullname = intent.getStringExtra(“full_name”): Эта строка получает строку из предыдущего действия, а в параметре мы должны передать ключ, который мы упомянули в предыдущем действии.

Образец кода:

Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.putExtra("firstName", "Vishnu");
intent.putExtra("lastName", "Sivan");
startActivity(intent);
Другие вопросы по тегам