Eliminación de un elemento de ListView dentro de un adaptador personalizado

Tengo un elemento personalizado listview que incluye un botón "quitar". He creado un adaptador personalizado llamado LazyListAdapter que extiende BaseAdapter . Dentro del método getView que anula, establezco el método onclick de este botón de la siguiente manera:

 @Override public View getView(final int pos, View convertView, ViewGroup parent) { View v = convertView; // Some other things... ImageButton removeFav = (ImageButton) v.findViewById(R.id.removeFavorites); removeFav.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // I delete the object from Parse database here, // Therefore I want the view to disappear here } } 

¿Cómo puedo borrar o de alguna manera ocultar la vista correspondiente usando un código dentro de este método onclick? ¿O debo cambiar mi enfoque?

Muchas gracias de antemano.

Prueba esto

 @Override public View getView(final int pos, View convertView, ViewGroup parent) { View v = convertView; // Some other things... ImageButton removeFav = (ImageButton) v.findViewById(R.id.removeFavorites); removeFav.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // After you delete the object from Parse database here, notifyDataSetChanged(); } } 

Intente usar parent.removeViewAt (posición).

Simplemente puede quitar un elemento dentro del método getview como en el ejemplo

 @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.list_row, null, false); viewHolder = new ViewHolder(); viewHolder.img = (ImageView) convertView.findViewById(R.id.img); convertView.setTag(viewHolder); } else { // we call the view created before to not create a view in each time viewHolder = (ViewHolder) convertView.getTag(); } final int imgId = imageId.get(position); viewHolder.img.setImageResource(imgId); viewHolder.img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(context, "Clicked " + imgId, Toast.LENGTH_SHORT) .show(); } }); // Create a generic swipe-to-dismiss touch listener. viewHolder.img.setOnTouchListener(new SwipeDismissTouchListener( viewHolder.img, null, new SwipeDismissTouchListener.DismissCallbacks() { @Override public boolean canDismiss(Object token) { return true; } @Override public void onDismiss(View view, Object token) { Log.d(TAG, "Image ıd" + imgId); imageId.remove(position); remove(position); notifyDataSetChanged(); } })); return convertView; } 
  • Listview en SwipeRefreshLayout - no muestra nada cuando el adaptador personalizado tiene sólo una fila para mostrar
  • Android: no se puede actualizar ListView con CustomAdapter
  • Adaptador personalizado getView () no se está utilizando la biblioteca PullToRefresh
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.