0

我搜索了一种在我的 TextView 中显示存储在 Values/Rarity.xml 中的数组列表中的随机字符串的方法。

这里有很多例子都是用 Java 编写的,但没有一个是有效的。

我试过: kotlin 从数组中获取随机字符串(不能使它与我的 values/rarity.xml 中的数组一起工作)

从 ArrayList 中获取随机值

我是 Android Studio 的新手,想知道如何让它工作,过去几个小时我一直在尝试但没有成功。

这是我想要实现的,但是当我点击按钮时应用程序崩溃:

package com.example.myapplication

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val rarity = arrayOf(R.array.wp_rarity)
        val randomRarity = rarity.random()

        btn_generate.setOnClickListener {
            item_type.setText(randomRarity)
        }
    }
}

如果我用它替换val rarity = arrayOf(R.array.wp_rarity)val rarity = arrayOf("test", "test2")确实有效,但我想在values/*.xml中使用我的数组来优化它。还是有其他方法?

问候,

4

2 回答 2

0

从海在他的帖子评论中给出了答案。

它是 :

val rarity = resources.getStringArray(R.array.wp_rarity)

非常感谢他!

于 2020-06-08T00:24:20.933 回答
0

您应该使用getStringArray而不是arrayOf. 这是收集的方法。尝试这个

val rarity = resources.getStringArray(R.array.wp_rarity)
于 2020-06-08T00:09:38.687 回答