notifyDataSetChanged не работает должным образом на фрагмент

Я нашел очень приятное и сжатое решение, особенно полезное, когда вы не можете модифицировать классы 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

0
задан CaptKenpa 26 February 2019 в 22:06
поделиться

2 ответа

Если вы хотите удалить любой набор данных, вы должны установить 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 
0
ответ дан Farid Haq 26 February 2019 в 22:06
поделиться

Используйте приведенный ниже метод внутри вашего NotificationsAdapter.class, а затем вызовите этот метод вместо вызова notifyDataSetChanged () непосредственно в вашем фрагменте. На самом деле вы не передаете данные адаптеру, который был проблемой.

public void updateAdapter(ArrayList<Notifications> mDataList) {
        this.mList = mDataList;
        notifyDataSetChanged();
    }
0
ответ дан Sathiamour 26 February 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: