String Builder 在 TextView Android Kotlin 中不工作

String Builder not working in TextView Android Kotlin

嘿,我想在字符串中的两个单词之间给出 space\tab 以显示在 TextView 中。我有 mutableListOf 字符串并对每个字符串进行迭代。在迭代中,我首先搜索 space 并替换为 \t 并存储在 string builder它工作正常,我想要什么,检查日志也很好。但是我设置了短信在文本视图中不起作用。

    val list = mutableListOf(
        "1. Log in Google account\n",
        "2. Scroll to the page\n",
        "3. Tap disconnect from account to logout"
    )
    val content = StringBuilder()
    list.forEach{ string->
        content.append(string.replaceFirst(" " , "\t"))
    }
    System.out.print("string >> $content")
    list_string.text = content

正如您在日志中看到的那样

但是当我在文本视图中设置文本时它不起作用

另外我想在行之间给出 margin/padding1st 点有一些余量 bottom/padding 底部到第2点我不用\n

您不需要使用 StringBuilder 来完成您的要求。我使用 joinToString 来解决这个问题。

    private lateinit var tv: TextView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main4)
        tv = findViewById(R.id.textView)
        val list = mutableListOf(
            "1. Log in Google account\n",
            "2. Scroll to the page\n",
            "3. Tap disconnect from account to logout"
        )
        list.forEach{ string->
            string.replaceFirst(" " , "\t")
        }

        tv.text = list.joinToString(separator = "")
    }

至于如何修改第一行和第二行的间距,可以设置android:lineHeight="40dp"解决

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        android:lineHeight="40dp"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        />