Sto scrivendo un'app per Android che legge un singolo file di testo e lo visualizza su un TextView
.Android: come si carica in modo efficiente una grande quantità di testo in un TextView?
Quello che sto facendo in questo momento sta leggere l'intero file in una stringa (usando BufferedReader
e StringBuilder
) e visualizzarlo su un TextView
utilizzando setText(string)
. Un file di testo da 700 KB può richiedere da 2 a 3 secondi prima che venga visualizzato sullo schermo.
Ma ho usato altri lettori di ebook sul mercato e possono visualizzare lo stesso testo quasi all'istante. Qualcuno sa come posso ottenere questo?
Grazie.
Modifica: molti suggeriscono ListView, ma non funziona per il mio caso particolare. Questo è dalla mia risposta a una delle risposte: ... [ListView] non funziona per me per alcuni motivi. (1) Per rendere la Listview simile a una TextView, dobbiamo rompere il testo sul carattere della nuova riga. Se carico un singolo grande paragrafo, è lento come caricare un TextView. (2) Dal momento che ListView misura solo l'elemento sullo schermo, non posso sapere in anticipo le "pagine" o "altezza" totali dell'intero testo.
Ho finalmente avuto un po 'di tempo per affrontare il problema e questa soluzione non funziona per me per alcuni motivi. (1) Per rendere la Listview simile a una TextView, dobbiamo rompere il testo sul carattere della nuova riga. Se carico un singolo grande paragrafo, è lento come caricare un TextView. (2) Dal momento che ListView misura solo l'elemento sullo schermo, non posso sapere in anticipo le "pagine" o "altezza" totali dell'intero testo. –