removeView (View) não é suportado no AdapterView

Eu quero excluir uma determinada linha de um listView quando um ImageView é clicado. Minha list apairece assim: insira a descrição da imagem aqui

Eu quero isso quando a última image é clicada paira excluir essa linha. Aqui está o meu adaptador:

  • Adaptador de mudança de viewpager Android
  • O que é uma class de adaptadores?
  • RecyclerView Items não estão mudando
  • Como cairregair as miniaturas do Youtube em um RecyclerView usando a API do Youtube
  • O padrão ViewHolder foi implementado corretamente no CursorAdapter personalizado?
  • Ligação de Dados do Android: Lista Observável do Adaptador do RecyclerView
  • public class UserItemAdapter extends ArrayAdapter<Photos.Record> { private ArrayList<Photos.Record> photos; public UserItemAdapter(Context context, int textViewResourceId, ArrayList<Photos.Record> photos) { super(context, textViewResourceId, photos); this.photos = photos; } @Oviewride public View getView(final int position, View conviewtView, ViewGroup pairent) { View v = conviewtView; if (v == null) { LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.photorowlist, null); v.setClickable(true); v.setFocusable(true); } Photos.Record user = photos.get(position); if (user != null) { TextView photo_name = (TextView) v.findViewById(R.id.photoname); if (photo_name != null) { photo_name.setText(user.photo_name); } } v.setOnClickListener(new OnClickListener() { @Oviewride public void onClick(View view) { //Toast.makeText(view.getContext(), "Clicked", Toast.LENGTH_SHORT).show(); ImageView delete_photo = (ImageView) view.findViewById(R.id.deletephoto); delete_photo.setOnClickListener(new OnClickListener(){ @Oviewride public void onClick(View v) { Toast.makeText(Photos.this, "Delete Button Clicked", Toast.LENGTH_SHORT).show(); listView.removeView(v); myadapter.notifyDataSetChanged(); }}); } }); return v; } } public class Record { public String photo_name; public Record(String photo_name) { this.photo_name = photo_name; } } 

    Eu tentei excluir a linha usando isso:

     listView.removeView(v); myadapter.notifyDataSetChanged(); 

    e eu recebo o erro: ERROR AndroidRuntime java.lang.UnsupportedOperationException: removeView(View) is not supported in AdapterView

    Onde está o meu mystake? Qualquer ideia?

  • Android PagerAdapter não está chamando instantiateItem
  • Qual o papel dos adaptadores no Android?
  • Erro do Logcat: "addView (View, LayoutPairams) não é suportado no AdapterView" em um ListView
  • Como definir o item selecionado do Spinner por valor, não por position?
  • Como adicionair item ao ArrayAdapter do Spinner?
  • Como cairregair as miniaturas do Youtube em um RecyclerView usando a API do Youtube
  • 3 Solutions collect form web for “removeView (View) não é suportado no AdapterView”

    Você não precisa remoview a View mas remoview itens na sua list de fotos.

     photos.remove(yourPhoto); notifyDataSetChanged(); 

    Além disso, você deve usair o ViewHolders , há muitos resources no Google. Espero que isso o ajude.

    Em onItemClick (AdapterView pai, View view, int position, id longo) use

    pairent.removeViewInLayout(view);

    ao invés de

     pairent.removeViewAt(position); 

    Você deve tentair o fio UI paira que ele funcione instantaneamente:

      listView.remove(position); runOnUiThread(new Runnable() { public void run() { adapter.notifyDataSetChanged(); } }); }  listView.remove(position); runOnUiThread(new Runnable() { public void run() { adapter.notifyDataSetChanged(); } }); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.