none
Limpar um listview que esta inflado com um layout inflater, Android C# RRS feed

  • Pergunta

  • Bom estou com o seguinte problema, eu usei um layout inflater para preencher um listviewcom uma adapter mas eu quero limpar esse adapter, pois os produtos contidos na lista não mudando quando clico em outra categoria de produtos, Exemplo: aparece as categorias e ao clicar em uma categoria lista os produtos relacionadas a mesma mas quando clico em outra categoria aparece os mesmo produtos, alguém tem uma ideia de como limpar o layout inflater ou o adapter pois eu não sei onde fazer essa modificação.

    activymain:

    var cateListView = FindViewById<ListView>(Resource.Id.listViewcategorias); //Toast.MakeText(this, dt.Rows.Count.ToString(), ToastLength.Short).Show(); cateListView.FastScrollEnabled = true; // cateListView.ItemClick += FilmesListView_ItemClick; categoriasAdapter.dt = dt; var filmesAdapter = new categoriasAdapter(this, FilmesRepositorio.cate); cateListView.Adapter = filmesAdapter; cateListView.ItemClick += FilmesListView_ItemClick;

    Meu listadapter:
    
    public class produtoAdapter : BaseAdapter<produto>
        {
            private readonly Activity context;
            private readonly List<produto> prod;
            public static DataTable dt = new DataTable();
            public produtoAdapter(Activity context, List<produto> pro)
            {
                this.context = context;
                this.prod = pro;
    
            }
            public override produto this[int position]
            {
                get
                {
                    return prod[position];
                }
            }
    
            public override int Count
            {
                get
                {
                    return prod.Count;
                }
            }
    
    
    
            public override long GetItemId(int position)
            {
                return prod[position].Id_prod;
            }
    
            public override View GetView(int position, View convertView, ViewGroup parent)
            {
                //context.Recreate();
                //var view = convertView ?? context.LayoutInflater.Inflate(Resource.Layout.vprodutos, parent, false);  
                context.LayoutInflater.Dispose();
                var view = convertView = this.context.LayoutInflater.Inflate(Resource.Layout.vprodutos, parent, false);
                try
                { 
                    var txtproduto = view.FindViewById<TextView>(Resource.Id.txtproduto);
                    var txtvalorproduto = view.FindViewById<TextView>(Resource.Id.txtvalorproduto);
                    txtproduto.Text = prod[position].descricao;
                    txtvalorproduto.Text = prod[position].valor.ToString("0.00");
                    Toast.MakeText(Application.Context, "adiconou" + prod[position].descricao, ToastLength.Short).Show(); 
                }
                catch (Exception ex)
                {
                    Toast.MakeText(Application.Context, ex.ToString(), ToastLength.Short).Show();
                }
                return view;
            }
        }

    sábado, 22 de dezembro de 2018 02:19