2011-11-29 43 views
8

Tengo un spinner y una vista de lista en la misma actividad. La vista de lista se carga con una lista de elementos. quiero cuando el usuario hace clic en el elemento de la vista de lista spinner será clara y nueva vista de lista se carga según el apartado elige en spinner¿Cómo borrar un ListView de Android y rellenarlo con nuevos datos?

setListAdapter(new ArrayAdapter<String>(this, R.layout.listviewxml, video)); 

     ListView lv=getListView(); 

     lv.setTextFilterEnabled(true); 

enter image description here

Informe a cómo hacer esto?

que no soy capaz de limpiar la vista de lista

Respuesta

15

Si ha pasado una lista o una matriz para el adaptador de, entonces

// Clear collection.. 
collection.clear(); 
// Add data to collection.. 
collection.add(); 
// Refresh your listview.. 
listview.getAdapter().notifyDataSetChanged(); 

(Estos códigos son como pseudo código, la sintaxis puede variar)

5

Cuando se elige un nuevo elemento en su uso Spinner en su ListView adaptador:

//Clear existing items 
    listAdapter.clear(); 
    //Add new items 
    listAdapter.addAll(collectionOfItems); 
    //Notify that the data has changed 
    listAdapter.notifyDataSetChanged(); 
0

Debe almacenar una referencia al adaptador y realizar claro ese. Luego puede agregar más elementos nuevamente usando el Adaptador.

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listviewxml, video); 
setListAdapter(adapter); 

a continuación, utilizar más adelante

adapter.clear(); 
2

Puede intentar configurar un adaptador nulo para la vista de lista Así que usted puede hacer:

lv.setadapter(null); 
Cuestiones relacionadas