Как определить, когда выбор MultipleModal очищается с помощью кнопки «Назад» на панели действий - PullRequest
0 голосов
/ 24 октября 2018

У меня есть Android GridView, настроенный для выбора MultipleModal следующим образом:

Grid.ChoiceMode = ChoiceMode.MultipleModal;
Grid.SetMultiChoiceModeListener(new MultiChoiceModeListener(this.Context, this));

(я использую C # Xamarin, поэтому синтаксис не Java)

Если пользовательвыбирает некоторые элементы и отменяет их выбор вручную, я могу выбрать это с помощью OnItemCheckedStateChanged в MultiChoiceModeListener, что нормально.

Однако, если пользователь выбирает некоторые элементы и затем нажимает кнопку «Назад» на панели действий,Сетка очищает выделение, но OnItemCheckedStateChange не вызывается.Как правильно определить, когда это произошло?

1 Ответ

0 голосов
/ 24 октября 2018

Я не знаком с Xamarin, но комментарии имеют очень ограниченное пространство, и я предполагаю, что такие вещи, как иерархии наследования, должны быть действительными в обоих мирах.Итак, вот что:

В нативной разработке для Android AbsListView.MultiChoiceModeListener - это interface с четырьмя методами, кроме onItemCheckedStateChanged().В документации упоминается только один метод, поскольку MultiChoiceModeListener, в свою очередь, реализует другой interface: ActionMode.Callback

Его метод onDestroyActionMode() равен

Вызывается, когда режим действия собирается выйти и разрушиться.

Так что я думаю, это то, что вы ищете.

...