检测第二个和第三个单词之间的空格并将单词移动到下一行

时间:2016-07-01 10:54:44

标签: java android

我在适配器中有一个名称列表。当名称被突出显示并且名称太长(超过2个单词)时,我需要将第二个单词的间隙之后的单词移动到下一行,使得在新行中移动的单词保持相同的空格适配器中的下一个名称。

示例是,将列表中的名称列表视为 -

  

。的亚历

     

。 Martin Kooper Well

     

。托马斯

(如你所见,当第一个名字突出显示时,因为它少于2个字,我不需要任何东西)

现在,

  

。亚历

     

Martin Kooper

     

     

。托马斯

(如你所见,当第二个名字突出显示时,因为它超过2个单词,我需要将第三个单词Well放在下一行。它应该与列表中的下一个元素Thomas保持相同的间距)

4 个答案:

答案 0 :(得分:0)

你可以使用Split()来实现这个

String string = "android iPhone Windows";
String[] parts = string.split(" ");

您可以在此检查数组大小。如果size / 2> 1然后你可以添加“\ n”并将字符串添加到String缓冲区,然后设置为listview textview

希望这会对你有所帮助。

答案 1 :(得分:0)

在白色空间的基础上拆分字符串并将其存储在数组中。

做以下事情

 String name = "Martin Kooper Well";
            String[] newname = name.split(" ");

            if (newname.length>2)
            name = newname[0] +" " +newname[1] + "\n" +newname[2];

答案 2 :(得分:0)

尝试

    String name = "some person name".trim();
    if(name.indexOf(" ") != name.lastIndexOf(" ")) {
        int secondSpacePos = name.indexOf(" ", name.indexOf(" ") + 1);
        name = name.substring(0, secondSpacePos) + "\n " + name.substring(secondSpacePos);
    }

答案 3 :(得分:-1)

您应该在视图布局中执行此操作。为2行文本视图指定足够的项目视图高度。当粗体名称(或甚至非常大的名称)没有足够的水平空间时,文本将自动分割以使用第二行。指定高度,您将拥有所有相同的项目。

<TextView
    android:id="@+id/myText"
    android:layout_height="50dp"
    android:layout_width="match_parent"
    android:maxLines="2"
    android:lines="2"/>