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/padding 即 1st 点有一些余量 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"
/>
嘿,我想在字符串中的两个单词之间给出 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/padding 即 1st 点有一些余量 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"
/>