Android Studio Kotlin实现按钮点击随机显示Yes/No功能求助
Kotlin实现点击按钮随机显示Yes/No的修正方案
原代码存在的问题
- 未导入Kotlin的
Random类,无法使用随机功能 Random的调用方式错误,没有正确语法直接随机选择两个字符串buttonPressed函数定义在onCreate方法内部,布局文件中通过android:onClick绑定的点击事件无法找到该函数
修正后的完整代码
import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* import android.view.View import kotlin.random.Random class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } // 移到类成员位置,让布局的点击事件能找到 fun buttonPressed(view: View){ // 创建候选字符串列表 val options = listOf("yes", "no") // 随机获取列表中的一个元素 val randomWord = options.random() textView.text = randomWord } }
关键修改说明
- 导入
kotlin.random.Random:使用Kotlin标准库的随机工具类,无需依赖Android原生Random类 - 将
buttonPressed改为类成员函数:确保布局文件中通过android:onClick="buttonPressed"绑定按钮点击时,系统能正确找到该方法 - 使用
listOf("yes", "no").random():Kotlin简洁写法,直接从列表中随机选取元素;也可以用options[Random.nextInt(options.size)]实现相同效果
内容的提问来源于stack exchange,提问作者Valentine Lancin
相关产品推荐
相关产品推荐

