我试图将文本文件的内容读入列表视图。 文本文件的格式为
Item 1
Subitem1 | Subitem2 | Subitem3
Item 2
Subitem1 | Subitem 2 | Subitem3
Item 3
Subitem1 | Subitem2 | Subitem3
这是我使用的逻辑。 搜索特定项目的文件
while(scanner.hasNextLine())
{
line=scanner.next line();
if(query.equals(line))
line = scanner.next line();
}
return line;
获取返回的行值并将其拆分为String []
String[] myArray = returnedLine.split("|");
将其转换为列表视图的列表
List<String> disp = new ArrayList<String>();
disp = Arrays.as list(myArray);
代码有效。但是,列表视图的内容看起来很奇怪,每个字母表都在一个新的listView行中。 S在一行上,一个是下一行,后面是b,I,t,e,m和1.所有在不同的行上
答案 0 :(得分:3)
String.split()函数采用正则表达式而不是字符,而管道是正则表达式中的特殊字符。试试这个:
String[] myArray = returnedLine.split("\\|");
编辑:当flightplanner指针退出时,你的while应该看起来像这样:
while(scanner.hasNextLine())
{
line=scanner.next line();
if(query.equals(line)) {
line=scanner.next line();
break;
}
}