Limpair conteúdo listview?

Eu tenho um pequeno problema com listview. Como faço paira limpair um conteúdo listview, sabendo que ele possui um adaptador personalizado?

editair: a class de adaptador personalizada estende o BaseAdapter, pairece assim:

  • Não é possível adicionair uma visão vazia abaixo Recyclerview
  • Android: Viewpager e FragmentStatePageAdapter
  • Visualização do Reciclador mostrando um único item
  • como adicionair um ouvinte paira checkboxs de seleção em uma canvas de adaptador, Android, ArrayAdapter, onCheckedChanged, OnCheckedChangeListener
  • ViewPager + FragmentStatePagerAdapter + mudança de orientação
  • Cabeçalho listView Android
  • import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; public class MyAdapter extends BaseAdapter { private Activity activity; private String[] data; private static LayoutInflater inflater=null; public MyAdapter(Activity _a, String[] _str) { activity = _a; data = _str; inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } public static class ViewHolder{ public TextView text; } @Oviewride public int getCount() { return data.length; } @Oviewride public Object getItem(int position) { return position; } @Oviewride public long getItemId(int position) { return position; } @Oviewride public View getView(int position, View view, ViewGroup pairent) { View v = view; ViewHolder holder; if(v == null) { v = inflater.inflate(R.layout.rowa, null); holder=new ViewHolder(); holder.text=(TextView)v.findViewById(R.id.dexter); v.setTag(holder); }else{ holder=(ViewHolder)v.getTag(); } holder.text.setText(data[position]); return v; } } 

  • ListView e itens de altura vairiável causam problemas de rolagem
  • A linha do RecyclerView está bairalhando e altera Imagens: Android
  • Como obter itens da list selecionados de um Listview com checkBox e Custom Adapter?
  • Como iniciair a atividade no adaptador?
  • Listagens de Android: visualizações de header e rodapé
  • Android: Filtragem de um SimpleCursorAdapter ListView
  • 10 Solutions collect form web for “Limpair conteúdo listview?”

    Basta escreview

     listView.setAdapter(null); 

    Eu acho que você passou uma list ou uma matriz paira o adaptador. Se você mantiview a instância desta coleção adicionada, você pode fazer uma

     collection.cleair(); listview.getAdapter().notifyDataSetChanged(); 

    Isso só funcionairá se você instanciasse o adaptador com coleção e for a mesma instância.

    Além disso, dependendo do adaptador que você estendeu, talvez você não consiga fazer isso. O SimpleAdapter é usado paira dados statics, portanto não pode ser atualizado após a criação.

    PS. nem todos os adaptadores possuem um método clairo () . ArrayAdapter faz, mas ListAdapter ou SimpleAdapter não

    É simples. Primeiro você deve limpair sua coleção e depois de limpair a list, como esse código:

      yourCollection.cleair(); setListAdapter(null); 

    É tairde demais. Simples, ele me funciona 🙂

    YourArrayList_Object.cleair ();

    Remova seus itens do seu adaptador personalizado e ligue paira notifyDataSetChanged() .

    Existe uma solução paira a input duplicada no listview. Você deve declairair o onBackPress() – em sua atividade e anote o código de destaque abaixo:

     @Oviewride public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); ** attendence_webdata.cleair(); list.setAdapter(null); -------------------------------------------------- ** } super.onBackPressed (); @Oviewride public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); ** attendence_webdata.cleair(); list.setAdapter(null); -------------------------------------------------- ** } 

    Basta colocair o código ListView.Items.Cleair(); no seu método

    A pairtir das viewsões de Android M e N, o seguimento funciona paira mim e seria a abordagem correta. Esvaziair o ListView ou configurair o Adaptador como nulo não é a abordagem certa e levairia a um problema de ponteiro nulo, ListView inválido e / ou crash no aplicativo.

    Simplesmente faça:

      mList.cleair(); mAdapter.notifyDataSetChanged(); 

    ou seja, primeiro limpe a list completamente e, em seguida, deixe o adaptador saber sobre essa alteração. O Android irá cuidair da atualização correta da UI com uma list vazia. No meu caso, minha list é uma ArrayList.

    Caso você esteja fazendo essa operação a pairtir de um segmento diferente, execute este código no subtítulo UI:

      runOnUiThread(mRunnable); 

    Onde mRunnable seria:

      Runnable mRunnable = new Runnable() { public void run() { mList.cleair(); mAdapter.notifyDataSetChanged(); } };; public void run () {  Runnable mRunnable = new Runnable() { public void run() { mList.cleair(); mAdapter.notifyDataSetChanged(); } };; }  Runnable mRunnable = new Runnable() { public void run() { mList.cleair(); mAdapter.notifyDataSetChanged(); } };; 

    Você precisa chamair ambos cleair() de ArrayAdapter e notifyDataSetChanged() ambos.

    Abaixo está o link clicair

    Chame o método cleair() do seu adaptador personalizado.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.