0

のDownloadsフォルダーにダウンロードし/mnt/sdcard/Download/testfile.txtてListViewに表示しているオンライン.txtファイルがあります。.txtファイルには<html><head><title>、削除したいなどのhtmlマーキングが含まれています。また、それらを新しい行として表示し、ListViewに個別のエントリを追加するには、すべてをで<br />置き換える必要があります。\nBufferedReader

現在、テキストをすべてのマークアップを含む単一のListViewエントリにロードし、に新しい行を作成しません<br />

以下は私の現在のコードです。

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) {       
    }
}

testfile.txt以下のとおりであります:

<html><head><title>mytextfile</title></head><body style ='font-family:monospace:'>1. Line 1 - Item 1<br />2. Line 2 - Item 2<br />3. Line 3 - Item 3<br />4. Line 4 - Item 4<br />5. Line 5 - Item 5<br />6. Line 6 - Item 6<br />7. Line 7 - Item 7<br />8. Line 8 - Item 8<br />9. Line 9 - Item 9<br />10. Line 10 - Item 10<br />11. Line 11 - Item 11<br />12. Line 12 - Item 12<br />13. Line 13 - Item 13<br />14. Line 14 - Item 14<br />15. Line 15 - Item 15<br />16. Line 16 - Item 16<br />17. Line 17 - Item 17<br />18. Line 18 - Item 18<br />19. Line 19 - Item 19<br />20. Line 20 - Item 20</body></html>

4

1 に答える 1

1

Java HTML パーサーを使用して、html を取り除くことができます: http://jsoup.org/

Jsoup.parse(yourHtmlString).text()するべきです。

改行については、次のように置き換えます。

replaceAll("(<br />)", "\\\\n")

ただし、そのライブラリを Android で使用すると互換性の問題が発生するかどうかはわかりません。

于 2012-12-09T16:58:34.947 に答える