Android: 如何使用句号将字符串分成单独的行?

huangapple go评论81阅读模式
英文:

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(&quot;-&quot;);
        for (String a : notes)
            tvInfo1.setText(a);
    } else {
        tvInfo1.setVisibility(View.GONE);
    }

And here is my .xml code for the TextView

  &lt;TextView
    android:id=&quot;@+id/tvInfo1&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;wrap_content&quot;
    android:layout_gravity=&quot;center&quot;
    android:fontFamily=&quot;@font/sourcesanspro_semibold&quot;
    android:gravity=&quot;center_vertical&quot;
    android:paddingLeft=&quot;24dp&quot;
    android:text=&quot;&quot;
    android:textColor=&quot;?attr/defaultTextColor&quot;
    android:textSize=&quot;15sp&quot; /&gt;

答案1

得分: 1

你可以使用分割函数。

Java中的分割函数

英文:

you can use split function.

split function in java

huangapple
  • 本文由 发表于 2020年10月16日 10:55:50
  • 转载请务必保留本文链接:https://go.coder-hub.com/64382291.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定