2012-12-20 17 views
5

W mojej aplikacji muszę zaimplementować automatycznie przewijany widok tekstowy, poleciłem link this.Przewijanie TextView w Androidzie

teraz mam przewijanie tetxview.But według mojego wymogiem jest to, że mam tablicę ciągów (Mam analizowany i mam jakiś ciąg znaków) .. Rozważmy macierz może być

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

Teraz chcę ta tablica do wyświetlenia w tym widoku tekstowym (który będzie przewijany automatycznie).

chcę tak:

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

To mój TextView (przewijanie):

<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" /> 

Jak mogę ustawić tablicę sznurka do tetxview..Please mi pomóc.

Odpowiedz

1

Spróbuj użyć 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

Dzięki za odpowiedź .. – Subburaj

3

Możesz połączyć cały ciąg znaków w jeden ciąg przez StringBuilder i zastosować go do TextView.

I zostały wdrożone własne TextView z przewijaniem owijając TextView (a może kilka innych odsłon)

private Runnable scrollRight = new Runnable() 
{ 

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

iw nowy wątek wzywam:

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

i ręcznie przewijając Scrollview przerywam przewijanie (takie automatyczne przewijanie, bez przerywania przez użytkownika).

+0

Dzięki za odpowiedź .. – Subburaj

+0

A BTW - wdrożenie Autoscroll używać Scrollview, smoothScrollBy i wątki \ timerów. – dilix

+0

k ... Dzięki dylematowi ... Możesz zrobić jeszcze 1 przysługę .. W powyższym kodzie przewijanie dzieje się bardzo powoli .. Chcę, żeby przewinąć trochę szybko .. Jak mogę to zrobić w powyższym kodzie .. – Subburaj

0

spróbować tego

<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" /> 
Powiązane problemy