【发布时间】:2020-10-26 16:06:53
【问题描述】:
我正在尝试创建一个显示不同难度级别的随机挑战的应用程序,以构建一个游戏化的自我开发应用程序。由于我是一个非常缺乏经验的开发人员(这是我的第一个不属于任何课程的应用程序),我没有使用片段,但我实际上创建了一个对应于每个挑战的布局。在我的应用程序中,我将按钮表示的不同难度级别显示为 MainActivity。这些级别按钮中的每一个都为该级别的介绍性页面创建了一个意图,该级别还包含一个底部的按钮,该按钮应随机选择一个布局(归类为该级别的一部分)并将其显示给用户。我的问题是我不知道进行这种选择的代码,并且以前的答案效果不佳。
我尝试根据答案这样做:
private val SafeChallenges = listOf(
DeclutterPhone::class,
Drink2glasses::class,
TodoList::class
)
private fun startRandomActivity() {
startActivity(Intent(this, SafeChallenges.random().java))
// If this s in a Fragment, use requireContext() instead of this
}
但它没有成功。我创建了 3 个类,每个类都有一个 setContentView 到一个特定的布局(挑战)我知道,没有 setOnClickListener 但是当我放一个时,它要么显示错误,要么什么都不做。
我也尝试过这种类型的循环,但我的按钮没有响应。
override fun onClick(view: View){
Log.d(TAG,"onclick: called")
category12_challenge_button.setOnClickListener {
Log.d(TAG,"button clicked")
val myRandomChallenges = Random.nextInt(1..3)
when(myRandomChallenges){
1->startActivity(Intent(this,DeclutterPhone::class.java))
2->startActivity(Intent(this,Drink2glasses::class.java))
3->startActivity(Intent(this,TodoList::class.java))
else -> IllegalArgumentException("unknown layout")
}
}
你能告诉我我在哪里错过了我的观点吗?
【问题讨论】:
-
您想从给定的活动列表中开始随机活动吗?我的意思是,如果一个应用有 3 个活动
FirstActivity.kt、SecondActivity.kt和ThirdActivity.kt,你想随机启动这些活动中的任何一个,对吧? -
其实是一款挑战类应用。我有一个带按钮的介绍性菜单,然后会随机选择显示挑战的活动。
-
你可以使用列表和随机。
-
好的,那我怎样才能把它翻译成 kotlin 代码呢?
-
我们需要查看您的点击侦听器以了解它为什么会给您带来错误。错误是什么?
标签: android kotlin android-intent random