Как запустить активность Android, когда несколько страниц приложения имеют одинаковое имя активности в Kotlin? - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть экран, содержащий список результатов.Нажатие на каждый результат приводит меня к другому элементу, но с тем же именем действия (TestResultActivityDetails).Как я могу запустить каждый Result в качестве средства запуска Activity?Можно ли использовать индекс для элементов списка для запуска действия?

val intent = Intent(TestResultActivityDetails::class.java)
startActivity(intent)

Здесь TestResultActivityDetails :: class.java - это имя действия, которое используется всеми списками результатов.

1 Ответ

0 голосов
/ 28 ноября 2018

Для передачи данных в активность вам необходимо использовать дополнительные функции Intent.Ваш опубликованный код будет выглядеть следующим образом:

val intent = Intent(TestResultActivityDetails::class.java).apply {
    /* You pass data as extras, with a key and the actual value.
     *         KEY            VALUE */
    putExtras("clickedIndex", index)
}

startActivity(intent)

Затем в TestResultActivityDetails вы сделаете:

override fun onCreate(saveInstance: Bundle?) {
    ...

    /* You get your data back from the Intent extras, using previous key.
     *                                 KEY               FALLBACK if not found */
    val index = intent.extras?.getInt("clickedIndex") ?: -1
}
...