2011-07-18 27 views
6

Próbujemy wyświetlić dane tabeli w widoku listy. Dane składają się z 8 kolumn i około 50 wierszy. W ciągu jednej sekundy przychodzi około 8 aktualizacji danych. (tj .: zaktualizuj wiersz2-kolumna5 do czegoś.) Za każdym razem, gdy przychodzą nowe dane, aktualizujemy dedykowane komórki i wywołujemy datasetchanged() adaptera, co powoduje problemy z wydajnością i przewijaniem.Najlepszy sposób wyświetlania danych strumieniowych w widoku listy Androida

Moje pytanie brzmi:
Jaki jest najlepszy sposób wyświetlania danych strumieniowych w systemie Android przy użyciu standardowych widżetów?

+0

Z jakiego adaptera korzystasz? – pawelzieba

+0

@dziobas: użyłem BaseAdapter. – e13420xx

Odpowiedz

2

Możesz spróbować odświeżyć tylko te elementy, które wymagają aktualizacji. Aby to zrobić, będziesz potrzebował pozycji danych w widoku listy.

private void updateData(int position) 
{ 
    int firstItem = listView1.getFirstVisiblePosition(); 
    View view = listView1.getChildAt(position - firstItem); 
    TextView tv = (TextView)view.findViewById(R.id.textview); 
    tv.setText("Example Text"); 
} 
0

Chciałbym też napisać własny kursor i podłączyć go do CursorAdapter i AdapterView, albo ... po prostu użyć MatrixCursor. MatrixCursor umożliwia dodanie nowego "wiersza". Następnie możesz zadzwonić pod numer onChange(), aby powiadomić o zmianie swoich danych.

Powiązane problemy