英文:
Android : How do I break a String into separate lines using period at the end of sentence
问题
好的,以下是翻译好的内容:
好的,所以我正在使用 API 调用来获取应用程序更新的发布说明列表。应用程序进行 API 调用并获得一个字符串,其中列出了更改的内容,以句号分隔为不同的句子。
例如:在设置菜单中添加了“获取帮助”。修复了音频错误。在登录中添加了“忘记密码”。
这个句子以一个字符串的形式保存在名为 ReleaseNotes 的个人资料(Profile)中。
现在,我想在“Updates Activity”中将其作为列表显示,使用 tvReleaseNotes。
由于列表的长度可能从 1 到 10 个句子不等,我在显示时该如何进行分隔呢?
如果我只是使用下面的代码,它会将其显示为一个长段落。我想在句号处进行分割,并为每个项目创建另一行。
tvReleaseNotes.setText(profile.getUserData().getReleaseNotes());
更新:
我设法让 .split
函数起作用了,但它只显示数组的第二部分。我在句子之间放了一个连字符,并将连字符设置为正则表达式。以下是我的代码...
if (SharedPref.with(this).isRegister()) {
String[] notes = releasenotes.split("-");
for (String a : notes)
tvInfo1.setText(a);
} else {
tvInfo1.setVisibility(View.GONE);
}
这是 TextView 的 XML 代码:
<TextView
android:id="@+id/tvInfo1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/sourcesanspro_semibold"
android:gravity="center_vertical"
android:paddingLeft="24dp"
android:text=""
android:textColor="?attr/defaultTextColor"
android:textSize="15sp" />
英文:
Ok, so I am using an API call to get a list of Release Notes for updates to my app. The app makes the API call and gets a String which has a list of what has changed, separated into different sentences with periods.
Ex. Added "Get Help" to settings menu. Fixed audio bug. Added "Forgot Password" to login.
This sentence is saved as a String in Profile called ReleaseNotes.
Now, I want to display that as a list in the Updates Activity using tvReleaseNotes.
Since the list may be anywhere from 1 to 10 sentences, how do I break it when displaying it?
If I just use the code below it displays it as one long paragraph. I want to split it at the period and make another line for each item.
tvReleaseNotes.setText(profile.getUserData().getReleaseNotes());
Update:
I managed to get the .split function working, but it is only displaying the second part of the array.I put a hyphen between the sentences, and set the hyphen as the regex. Here is my code below...
if (SharedPref.with(this).isRegister()) {
String[] notes = releasenotes.split("-");
for (String a : notes)
tvInfo1.setText(a);
} else {
tvInfo1.setVisibility(View.GONE);
}
And here is my .xml code for the TextView
<TextView
android:id="@+id/tvInfo1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/sourcesanspro_semibold"
android:gravity="center_vertical"
android:paddingLeft="24dp"
android:text=""
android:textColor="?attr/defaultTextColor"
android:textSize="15sp" />
答案1
得分: 1
你可以使用分割函数。
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论