2014-04-22 24 views
7

Moja aplikacja musi wyświetlać niestandardowy tekst zapisany w gronie plików .rtf wewnątrz TextView. Szukałem na różnych forach i nadal nie mam jednoznacznego rozwiązania. Wydaje się całkiem proste, prawda? Opracowałem kilka takich aplikacji w iOS i nie miałem problemów z wyświetlaniem tekstu .rtf wewnątrz UITextView jako przypisanego ciągu znaków. Myślałem, że w Androidzie będzie łatwiej. Dzięki za twój czasJak wyświetlić plik .rtf wewnątrz TextView?

Odpowiedz

11

Wydaje się całkiem proste, prawda?

Nieszczególnie. Heck, nawet Windows w dużym stopniu porzucił RTF dekadę temu.

Opcja nr 1: Jeśli planowałeś pakować RTF w samej aplikacji (np. Jako surowe zasoby lub zasoby), pozbyć się RTF i używać HTML w swojej aplikacji, używając albo Html.fromHtml() i a TextView lub użyj WebView.

Opcja nr 2: znajdź kod Java, który może konwertować RTF na HTML w locie, a następnie postępuj jak w opcji nr 1.

Opcja nr 3: znajdź trochę architektury C/C++, która może konwertować RTF na HTML w locie, dodaj to do swojej aplikacji poprzez NDK, a następnie postępuj jak w opcji nr 1.

Opcja nr 4: Rzuć własny analizator składni RTF i SpannableStringBuilder, aby utworzyć sformatowany plik Spannable, aby załadować go do TextView.

+0

Dzięki! wydaje się, że odpowiedzią będzie użycie html zamiast rtf, kolejne pytanie ... jak wyświetlić HTML wewnątrz textview? Dzięki jeszcze raz. –

+0

@VictorPinto: Prosty HTML może zostać przekształcony w 'Spanned' przez' Html.fromHtml() ', który można przekazać do' setText() 'na' TextView'. Klucz jest "prosty" - jeśli jest to konwersja z formatu RTF do HTML, prawdopodobnie będziesz w formie OK. – CommonsWare

+0

Dzięki mam idealne rozwiązanie! nigdy nie myślałem, że będę potrzebował html -_- –

Powiązane problemy