2012-12-20 1 views
5

Nella mia applicazione devo implementare una visualizzazione di testo a scorrimento automatico, ho fatto riferimento al collegamento this.Scrolling Textview in android

Ora ho un scrolling tetxview.But secondo il mio requisito è che ho un array di stringhe (che ho analizzato e ho qualche stringa) .. Si consideri la matrice può essere

string[] array=new string{"fgsdfd","gdfghdjhsd","gdfjhsgfhds"}; 

Ora voglio questo array deve essere visualizzato in quella textview (che scorrerà automaticamente).

voglio in questo modo:

fgsdfd gdfghdjhsd gdfjhsgfhds------------------>this will scroll automatically 

Questo è il mio TextView (scorrimento):

<TextView 
    android:text="Really Long Scrolling Text Goes Here.... ..... ............ .... ...." 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:scrollHorizontally="true" 
    android:id="@+id/TextView03" 
    android:padding="5dip" 
    android:layout_width="wrap_content" 
    android:textColor="#000000" 
    android:layout_height="wrap_content" /> 

Come posso impostare una serie di stringa in un tetxview..Please mi aiuti.

risposta

1

Provare a utilizzare StringBuilder.

String[] array = { "fgsdfd", "gdfghdjhsd", "gdfjhsgfhds" }; 
StringBuilder sb = new StringBuilder(); 

for (int i = 0; i < array.length; i++) { 
    sb.append(array[i]); 
} 
txtView.setText(sb.toString()); 
+0

Grazie per la risposta .. – Subburaj

3

È possibile unire tutta la stringa in una stringa da StringBuilder e applicarla allo TextView.

Ho implementato il mio TextView con scorrimento avvolgendo TextView (e forse alcuni altri punti di vista)

private Runnable scrollRight = new Runnable() 
{ 

    @Override 
    public void run() 
    { 
        // can control scrolling speed in on tick 
     topScroll.smoothScrollBy(1, 0); 
    } 
}; 

e nella nuova Discussione invoco:

while (!interruptScroll){ 
    try{ 
     Thread.sleep(50); // control ticking speed 
    } 
    catch (InterruptedException e){ 
     e.printStackTrace(); 
    } 
    topScroll.post(scrollRight); 
} 

e scorrendo manualmente lo ScrollView interrompo lo scorrimento (tale scorrimento automatico non viene interrotto dall'utente).

+0

Grazie per la risposta .. – Subburaj

+0

E BTW - per implementare scorrimento automatico utilizzare ScrollView, smoothScrollBy e discussioni \ timer. – dilix

+0

k ... Grazie dilix ... Puoi fare 1 altro favore ... Nel codice sopra lo scrolling sta accadendo molto lentamente .. voglio che scorra un po 'veloce .. Come posso realizzare nel codice sopra .. – Subburaj

0

prova per questo,

<TextView 
android:text="Really Long Scrolling Text Goes Here.... ..... ............ .... ...." 
android:singleLine="true" 
android:ellipsize="marquee" 
android:marqueeRepeatLimit="marquee_forever" 
android:scrollbars="horizontal" 
android:id="@+id/TextView03" 
android:padding="5dip" 
android:layout_width="wrap_content" 
android:textColor="#000000" 
android:layout_height="wrap_content" />