android - 从现有数组列表创建数组范围

标签 android arrays kotlin

我是 Kotlin 的新手,在让它工作时遇到了麻烦 我有一个名为 sentenceArray 的数组

val sentenceArray = arrayOfNulls<String>(7)
    sentenceArray[0] = "This is Sentence 0"
    sentenceArray[1] = "This is Sentence 1"
    sentenceArray[2] = "This is Sentence 2"
    sentenceArray[3] = "This is Sentence 3"
    sentenceArray[4] = "This is Sentence 4"
    sentenceArray[5] = "This is Sentence 5"
    sentenceArray[6] = "This is Sentence 6"

我有 2 个 Spinner,分别称为 leftSpinner 和 rightSpinner,数组从 0 到 6

val leftSpinnerArray = arrayOf("0", "1", "2", "3", "4", "5", "6")
val rightSpinnerArray = arrayOf("0", "1", "2", "3", "4", "5", "6")

用户为左右微调器选择一个值,并将它们存储在 selectedLeftSpinner 和 selectedRightSpinner 中

val selectedLeftSpinner = leftSpinner.getItemAtPosition(position).toString()
val selectedRightSpinner = rightSpinner.getItemAtPosition(position).toString()

我正在尝试做的事情:

当用户为左侧微调器选择 1,为右侧微调器选择 3 时。我希望 TextView 在单击按钮后显示“这是句子 1,这是句子 2,这是句子 3”

发生了什么:

现在我有这段代码可以根据左右微调器的值从现有数组生成一个数组,但它并没有像我想象的那样工作

val list = sentenceArray[selectedLeftSpinner.toInt()] to (sentenceArray[selectedRightSpinner.toInt()])
textView.text = list.toString()

当用户为左侧微调器选择 1,为右侧微调器选择 6 时 它在 TextView 中显示“这是句子 1,这是句子 6”。请帮忙!我尝试将 to 替换为 rangeTo 但它出错了。我不知道该怎么做。谢谢!

最佳答案

你可以像这样使用 slice

val right=selectedRightSpinner.toInt()
val left=selectedLeftSpinner.toInt()
val list=sentenceArray.slice(left..right)

关于android - 从现有数组列表创建数组范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59447114/

相关文章:

c++ - 数组遍历与指针,缓存效率方面

java - 用不同的分隔符分割JAVA

android - Koin 未找到类的定义,但已声明

android - 为什么 Switch 在 Nexus 5 版本 6.0.1 中显示不同?

android - 如何在android webview中选择一个词?

android - 谷歌分析 w/Android : Programmatically set ga_reportUncaughtExceptions?

python - 比较两个numpy数组

java - Android检查文件错误 “Type mismatch: inferred type is Context but Path! was expected”

kotlin - 字符串插值在 Kotlin 中是如何工作的?

java - 动态表示法序列化名称