Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在ListView中显示带有HTML标记的文件_Java_Android_Html_String_Listview - Fatal编程技术网

Java 在ListView中显示带有HTML标记的文件

Java 在ListView中显示带有HTML标记的文件,java,android,html,string,listview,Java,Android,Html,String,Listview,我有一个在线.txt文件,我正在下载到我的下载文件夹/mnt/sdcard/Download/testfile.txt,然后在列表视图中显示它。.txt文件包含我希望删除的html标记,如等。我还需要将所有替换为\n,以便我的BufferedReader将它们作为新行查看,并将单独的条目添加到列表视图中 目前,它将文本加载到一个包含所有标记的ListView条目中,而不是在处创建新行 下面是我当前的代码 public void load() { try { File sd

我有一个在线.txt文件,我正在下载到我的下载文件夹
/mnt/sdcard/Download/testfile.txt
,然后在列表视图中显示它。.txt文件包含我希望删除的html标记,如
等。我还需要将所有

替换为
\n
,以便我的
BufferedReader
将它们作为新行查看,并将单独的条目添加到列表视图中

目前,它将文本加载到一个包含所有标记的ListView条目中,而不是在

处创建新行

下面是我当前的代码

public void load() {
    try {
        File sdcard = Environment.getExternalStorageDirectory();
        BufferedReader bufferedReader = new BufferedReader(new FileReader(
                sdcard + "/Download/testfile.txt"));
        while ((line = bufferedReader.readLine()) != null) {
            line = bufferedReader.readLine();
            if (line != "")
                entries.add(line);
        }
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_activated_1, entries);
        lv.setAdapter(adapter);
        bufferedReader.close();
    } catch (java.io.FileNotFoundException e) {
    } catch (java.io.IOException e) {       
    }
}
public void load(){
试一试{
文件sdcard=Environment.getExternalStorageDirectory();
BufferedReader BufferedReader=新的BufferedReader(新文件读取器(
sdcard+“/Download/testfile.txt”);
而((line=bufferedReader.readLine())!=null){
line=bufferedReader.readLine();
如果(行!=“”)
条目。添加(行);
}
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_activated_1,条目);
低压设置适配器(适配器);
bufferedReader.close();
}catch(java.io.filenotfound异常){
}catch(java.io.ioe异常){
}
}
testfile.txt
如下所示:


mytextfile1。第1行-第1项
2。第2行-第2项
3。第3行-第3项
4。第4行-第4项
5。第5行-第5项
6。第6行-第6项
7。第7行-第7项
8。第8行-第8项
9。第9行-第9项
10。第10行-第10项
11。第11行-第11项
12。第12行-第12项
13。第13行-第13项
14。第14行-第14项
15。第15行-第15项
16。第16行-第16项
17。第17行-第17项
18。第18行-第18项
19。第19行-第19项
20。第20行-第20项可以使用Java HTML解析器剥离HTML:

Jsoup.parse(您的htmlstring.text()
应该这样做

关于您的换行符,请更换:

replaceAll(“(
”),“\\\\n”)


不过,我不能告诉你的是,使用该库与Android是否会出现兼容性问题。

你也可以共享testfile.txt吗?我在
line.replaceAll(“
,“\n”)处收到一个NullPointerException错误@Adam抱歉,我修复了replaceAll,请查看编辑。NullPointerException告诉我,尽管您的“line”为null,但您可能需要首先检查它。通过在replaceAll之前放置
if(line!=null)
语句,没有错误,但是将其更改为
if(line==null)
会强制执行错误,因为BufferedReader没有实际加载文件。至于为什么,我不知道。这似乎是阅读你的文件的另一个问题。您可以暂时将html内容放在字符串中,并测试是否可以解析和替换换行符。似乎永远不会调用replaceAll(字符串,字符串)调用。我得到了一个包含所有内容的ListView条目,
仍然存在。