【问题标题】:Random answer Android studio Kotlin随机回答 Android studio Kotlin
【发布时间】:2022-12-10 18:06:19
【问题描述】:
我是初学者,我想编写一个代码,在单击按钮时随机打印“是”或“否”。 (使用科特林)这是我的代码
包 com.example.calculator
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import android.view.View
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
fun buttonPressed(view: View){
val randomword = Random. ("yes" or "no")
textView.text = randomword
}
}
}
【问题讨论】:
标签:
android
kotlin
button
random
view
【解决方案1】:
查看 Random 类,了解您可以随机生成的内容。您可以根据所有可能值的范围生成不同的类型,或者您可以自己提供一个范围(例如,在这个 Int 和那个 Int 之间)。然后您可以将这些值用于有用的事情,例如生成随机索引之类的事情。
由于这里有两个值,您可能只想使用 Random.nextBoolean() 在它们之间进行选择:
val randomWord = if (Random.nextBoolean()) "yes" else "no"
所以基本上 nextBoolean() 调用的计算结果为真的或者错误的,if 条件检查,并返回这两个字符串之一。很简单,对吧?
但 Kotlin 的另一件事是其集合上的 random 函数。基本上,如果你有一个集合(列表、数组、地图等),你可以在它上面调用random()来获得一个随机项目。这比尝试生成索引然后 get 该项目要好(尽管在某些情况下您也想这样做)
因此,您可以创建一组响应,并随机选择一个:
val responses = listOf("yes", "no")
val randomWord = responses.random()
【解决方案2】:
得到一个随机项目(在你的情况下是“是”或“否”),你可以做
val options = listOf("yes", "no")
val randomWord = options.random()
textView.text = randomWord
然后您可以将上述代码放在活动/片段中按钮的 onClickListener 中,使用 viewBinding 或 findViewById 引用 textView 和按钮
【解决方案3】:
你可以尝试这样的事情:
fun buttonPressed(view: View) {
val randomInt = (0..1).random()
if (randomInt == 0) {
textView.text = "yes"
} else {
textView.text = "no"
}
}