Я нашел очень приятное и сжатое решение, особенно полезное, когда вы не можете модифицировать классы enum, как это было в моем случае. Затем вы должны предоставить настраиваемый ObjectMapper с включенной определенной функцией. Эти функции доступны с Jackson 1.6. Таким образом, вам нужно всего лишь написать метод toString()
в вашем перечислении.
public class CustomObjectMapper extends ObjectMapper {
@PostConstruct
public void customConfiguration() {
// Uses Enum.toString() for serialization of an Enum
this.enable(WRITE_ENUMS_USING_TO_STRING);
// Uses Enum.toString() for deserialization of an Enum
this.enable(READ_ENUMS_USING_TO_STRING);
}
}
Доступно больше функций, связанных с перечислением, см. Здесь:
https: // github.com/FasterXML/jackson-databind/wiki/Serialization-Features https://github.com/FasterXML/jackson-databind/wiki/Deserialization-Features
Если вы хотите удалить любой набор данных, вы должны установить notifyItemRemoved с позицией данных.
Пример:
mDataset.remove(position); // remove your data
notifyItemRemoved(position); // notify that your data is removed
notifyItemRangeChanged(position, mDataSet.size()); // you can use if range is changed
Используйте приведенный ниже метод внутри вашего NotificationsAdapter.class, а затем вызовите этот метод вместо вызова notifyDataSetChanged () непосредственно в вашем фрагменте. На самом деле вы не передаете данные адаптеру, который был проблемой.
public void updateAdapter(ArrayList<Notifications> mDataList) {
this.mList = mDataList;
notifyDataSetChanged();
}