2011-07-18 4 views
6

Estamos tratando de mostrar los datos de una tabla en una vista de lista. Los datos constan de 8 columnas y alrededor de 50 filas. En un segundo período, vienen aproximadamente 8 datos de actualización. (es decir: actualiza row2-column5 a algo). Cada vez que llega un nuevo dato, estamos actualizando las celdas dedicadas y llamamos al datasetchanged() del adaptador y esto causa algunos problemas de rendimiento y desplazamiento.La mejor manera de mostrar los datos de transmisión en Android Listview

Mi pregunta es:
¿Cuál es la mejor manera de mostrar datos de transmisión en Android utilizando widgets estándar?

+0

¿Qué adaptador usas? – pawelzieba

+0

@dziobas: he usado BaseAdapter. – e13420xx

Respuesta

2

Puede actualizar solo los elementos que necesitan una actualización. Para hacerlo, necesitará la posición de los datos en la vista de lista.

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

yo bien escribir mi propio cursor y conectarlo a CursorAdapter y un AdapterView, o ... sólo tiene que utilizar el MatrixCursor. MatrixCursor le permite agregar una nueva "fila". Luego puede llamar al onChange() para notificar a la Vista que sus datos han cambiado.

Cuestiones relacionadas