Показать случайную страницу - PullRequest
0 голосов
/ 27 декабря 2018

Как изменить активность в соответствии с условием?

Например, нажмите кнопку Открыть Mainactivity4, но в следующий раз нажмите кнопку Показать Mainactivity2, а не предыдущие страницы (не показывать mainactivity4mainactivity2)

1 Ответ

0 голосов
/ 27 декабря 2018

В методе onCreate() вашей деятельности:

  • создать список, содержащий классы открываемых действий
  • создать список перемешанных чисел, начиная с 0 до размера 1 предыдущего списка
  • инициализируйте переменную, которая будет перебирать список чисел, каждый раз выбирая следующее.
  • установите слушателя кнопки

    val activities = listOf(
        MainActivity1::class.java,
        MainActivity2::class.java,
        MainActivity3::class.java,
        MainActivity4::class.java)
    
    val numbers = (0 until activities.size).shuffled()
    
    var counter = 0
    
    button.setOnClickListener {
        if (counter >= activities.size) counter = 0;
        val intent = Intent(this@YourActivity, activities[numbers[counter]])
        startActivity(intent)
        counter++
    }
    

Если выхотите прекратить открывать любые действия после того, как все они открыты,измените оператор if внутри слушателя на:

if (counter >= activities.size) {
    // show a toast ???
    return;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...