Java 在动态文本的末尾添加三个点
我必须在文本视图中的文本末尾添加3个点。我的文本视图位于惰性列表适配器中,因此内容经常更改。文本视图中只显示两行 e、 假设文本是 abcdefghigdddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 结果应该是 abcdefghigdddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 我知道我应该使用。替换(“…”,”) 但是如何总是把最后一句话写下来呢 我的文本视图如下Java 在动态文本的末尾添加三个点,java,android,Java,Android,我必须在文本视图中的文本末尾添加3个点。我的文本视图位于惰性列表适配器中,因此内容经常更改。文本视图中只显示两行 e、 假设文本是 abcdefghigdddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 结果应该是 abcdefghigdddddddd ddddddddddddddddddd
holder.title.setText(Html.fromHtml(a.name));
其中a.name是要设置的数据。使textView省略号,并让android为您自动截断它
<TextView ....... bla- bla -------
.......................
android:elipsis="true"
android:lines="num_of_lines" />
您想在文本末尾添加3个点吗
holder.title.setText(Html.fromHtml(a.name+"..."));
删除3个字符并添加3个点
String a = a.name;
a.substring(0, a.length() - 3);
holder.title.setText(Html.fromHtml(a.name+"..."));
您可以向TextView添加“Elipes”属性,还可以指定文本视图仅为一行。它可能是这样的:
<TextView
android:id="@+id/text_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1" />
首先获取字符串中的文本。然后获取字符串的长度。然后可以从最后一个字符中获取第三个字符的索引。您可以轻松地将最后三个字符替换为 所有这些都可以使用Java中String类的方法来完成 假设您只想显示字符串“raviranjan”中的4个字符,并且希望通过将其替换为“…”来修剪所有其他字符。政府应采取以下措施:
String str = "raviranjan";
int length = str.length();
String subString = str.substring(0, 3); // takes four characters from beginning
String str2 = subString + "..."; // Add ellipsis
现在,str2就是您想要的字符串……如果您想用省略号替换额外的字符,您可以这样做:
String str = "abcdefghigdddddddd dddddddddddddddddddd";
String newStr = str.replaceAll("^(.{100})(.*)$","$1...");
以上内容应与前100个字符匹配,并将其放入一组,同时将其他字符放入另一组。结果将是一个新的字符串,该字符串由第一组后面的3个点组成
您可以将100的值更改为省略号前所需的任意字符数。只需设置
TextView
属性android:ellipsize=“end”
,即可获得结果 省略号与单行/行属性紧密绑定。你用对了吗?分享你的xml布局和相关的java代码。你能给我一个例子吗?你想显示多少行?设置<代码> Android:Max Lead =“2”<代码> >您的代码>文本视图< /代码>。它也考虑空间,因为一些文本不采用正则表达式中的“…”@ ykuha,<代码>。< /代码>表示任何字符,因此它应该匹配空白(<代码> \<代码> >)。在我的示例中,它用前100个字符和3个省略号替换超过100个字符的任何内容,因此可能是您试图更改的文本较短。是的,但listview中的所有行都不会在第三行的最后三个字符处结束。@yakusha:我不明白您的意思。