Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Eliminar elementos basados ​​en el cursor en RecyclerView

Así es como se codifica mi recicladorView (parcialmente):

expensesListCursor = dbc.listExpenses(selectedDate); mLayoutManager = new LinearLayoutManager(getActivity()); rvExpenses.setLayoutManager(mLayoutManager); rvExpenses.setItemAnimator(new DefaultItemAnimator()); mAdapter = new AdapterExpensesList(expensesListCursor,getActivity()); rvExpenses.setAdapter(mAdapter); 

Aquí es cómo se escribe mi dbc.ListExpenses

  • Error Inflating CollapsingToolbarLayout
  • Seguridad de la carpeta de activos de Android
  • ¿Por qué utilizar un servicio Android?
  • ¿Cómo puedo verificar la facturación de Android en la aplicación con un servidor con Ruby?
  • Problema de animación de botones de acción flotante
  • Cómo guardar la posición de desplazamiento de RecyclerView en Android?
  •  public Cursor listExpenses(String date){ Cursor cursor; cursor = database.query(MySQLiteHelper.TABLE_EXPENSES, new String[] {"rowid as _id", "description, cost"}, "date='" + date + "'", null, null, null, "_id asc"); if (cursor != null) { cursor.moveToFirst(); } return cursor; } 

    Y aquí es cómo AdapterExpensesList está escrito

     public class AdapterExpensesList extends RecyclerView.Adapter<AdapterExpensesList.ViewHolder> { Cursor myDataCursor; public AdapterExpensesList(Cursor expensesListCursor, Context context){ myDataCursor = expensesListCursor; } 

    Como probablemente puede ver arriba, los elementos de mi RecyclerView se toman directamente desde el cursor. Mi problema es ahora, me gustaría implementar la característica para eliminar algunos de los datos en el RecyclerView. De los ejemplos que encontré en la red, por lo general aquí es cómo lo hicieron:

     private ArrayList<String> mDataset; public void remove(String item) { int position = mDataset.indexOf(item); mDataset.remove(position); notifyItemRemoved(position); } 

    El problema es que mis datos son un objeto de cursor, y el cursor no tiene el .remove (posición) como ArrayList por ejemplo. Entonces, ¿cómo puedo lograr lo mismo, que es eliminar ciertos datos de determinada posición?

    Nota: Sólo quiero eliminar datos de una posición particular (seleccionada), y no los datos dentro de la propia base de datos.

  • Enlace de datos - ¿Cómo escribir declaraciones de varias líneas?
  • Resaltar texto en un PDF
  • Android: ListView con botones -> OnItemClick no hacer nada
  • Cómo mostrar el recuento de notificaciones en el icono del lanzador de aplicaciones
  • Android 4.3: Native crash en unkown.unknown
  • Paleta de Android: ¿Por qué no trabajar con esta imagen en particular?
  • One Solution collect form web for “Eliminar elementos basados ​​en el cursor en RecyclerView”

    No puede eliminar elementos del cursor. Compruébelo aquí.

    https://stackoverflow.com/a/6724929/5492047

    En su lugar puede convertir los elementos del cursor en la lista https://www.javatpoint.com/java-list o arraylist https://www.javatpoint.com/java-arraylist

    Y lograr su tarea.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.