0

我正在尝试将文本文件的内容读入列表视图。文本文件的格式为

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 在一行,u 一个在下一个,然后是 b、I、t、e、m 和 1。全部在不同的行

4

1 回答 1

3

String.split() 函数接受正则表达式,而不是字符,管道是正则表达式中的特殊字符。尝试这个:

String[] myArray = returnedLine.split("\\|");

编辑:作为飞行计划者的指针,你的 while 应该看起来像这样:

while(scanner.hasNextLine())
{    
    line=scanner.next line();
    if(query.equals(line)) {
        line=scanner.next line();
        break;
    }
}
于 2013-05-29T21:23:49.857 回答