当前位置:  开发笔记 > 编程语言 > 正文

Android TextView - 每20个字符后添加一个新行

如何解决《AndroidTextView-每20个字符后添加一个新行》经验,为你挑选了1个好方法。

我在每20个字符后添加一个新行时遇到问题.我见过很多帖子,我对android:命令感到困惑,哪些命令应该用于TextView/EditText.

这是我为textview编写的XML代码:

        

我也尝试过各种命令,例如:

android:maxLength(20) - 这会切断我的文本,但不会在新行上显示其余部分

android:maxWidth(100p) - 错误

我保持的错误是:

渲染期间引发异常:java.util.Locale.toLanguageTag()Ljava/lang/String;

有没有人能解决我的问题这是否必须在java中完成?如果是这样的话,请提前谢谢



1> Chitrang..:

在@Der Golem提供链接的帮助下,我尝试制作一个解决方案.想法是你需要从类文件中设置文本.每20个字符后附加'\n'字符.

需要变量,

TextView textView;
String tmpString = "1234567890123456789012345678901234567890";
StringBuffer finalString;

您需要在onCreate方法中编写的代码块.

    textView = (TextView) findViewById(R.id.txt);
    int index = 0;
    finalString = new StringBuffer(); 
    while (index < tmpString.length()) {
        Log.i(TAG, "test = " + tmpString.substring(index, Math.min(index + 20,tmpString.length())));
        finalString.append(tmpString.substring(index, Math.min(index + 20,tmpString.length()))+"\n");
        index += 20;
    }
    textView.setText(finalString);

更新: 参考,

    String mainString = "Hi Android, How are you? I hope you are doing great.";
    String[] stringArray = mainString.split("\\s+");
    String tmpString = "";
    for (String singleWord : stringArray) {
        Log.d(TAG, "singleWord = " + singleWord);
        if ((tmpString + singleWord + " ").length() > 20) {
            finalString.append(tmpString + "\n");
            Log.e(TAG, "finalString = " + finalString);
            tmpString = singleWord + " ";
        } else {
            tmpString = tmpString + singleWord + " ";
        }
        Log.d(TAG, "tmpString = " + tmpString);
    }

    if (tmpString.length() > 0) {
        finalString.append(tmpString);
        Log.e(TAG, "last finalString = " + finalString);
    }
    textView.setText(finalString);

不是一个很好的解决方案,但可能符合您的要求.如果您需要进一步的帮助,请告诉我.


这段代码非常有效,非常感谢你,然而它确实会在一半时间内切断单词并在下面继续它们.您是否知道如何添加elipses或仅在有空格时输入新行?
推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有