0

ひもが長くなる可能性があり、スマートにカットする必要があります。以下の例。
与えられた:

Very long string that is really too long to be placed on UI.

文字列より長くならないようにカットN:

Very long string that is really too...

これは、次のように単語を分割するべきではありません。

Very long string that is real...

完全なソリューション/ライブラリはありますか?

4

4 に答える 4

4

私は何かを試してみます。

public static String truncate(String line, int maxLength) {
    if(line.length() < maxLength) return line;
    int pos = line.lastIndexOf(" ", maxLength-3);
    if (pos <= 0) pos = maxLength - 3; // no spaces, so just cut anyway
    return line.substring(0, pos) + "...";
}
于 2013-06-07T22:10:57.673 に答える
3

を使用する必要がありますsetEllipsize (TextUtils.TruncateAt where)。ドキュメンテーションはこちらにあります

于 2013-06-07T22:10:45.360 に答える
0

StringTokenizer を使用して、スペースを使用して単語ごとに文字列を切り取り、最初の数単語だけを出力できます。このリンクには素晴らしい例があります: http://www.mkyong.com/java/java-stringtokenizer-example/

于 2013-06-07T22:08:53.993 に答える