Панель контекстных действий совместимости с Android

При попытке следуя рекомендациям по дизайну Android, я нахожусь в небольшом затруднительном положении.

Я хочу иметь список элементов, на некоторых из которых я могу долго нажимать (множественный выбор), а затем выполнять с ними массовые действия.

] В рекомендациях по дизайну предлагается использовать для этого контекстную панель действий, и это совершенно похоже на то, что я имел в виду. Проблема в том, что я пытаюсь сохранить обратную совместимость с API 7 (из-за того, что мой телефон имеет версию 2.3.3 cur арендная плата).

Я использую ActionBarSherlock , чтобы получить другие элементы панели действий, но я не могу понять, как заставить его запускать контекстную панель действий, и я не понял, как добавить кнопки произвольно на ActionBar в ABS. Я вижу, что вы можете делать вкладки, так что, возможно, это ответ, но поскольку я пытаюсь разрешить множественный выбор, я не хочу иметь обычное модальное контекстное меню.

25
задан Paul 29 April 2014 в 19:40
поделиться

4 ответа

Настройка контекстной панели действий аналогична настройке «обычных» элементов ActionBar в том, что касается XML. Этот пример в руководстве разработчика объясняет все это .

Чтобы использовать ActionBarSherlock, замените обратные вызовы Android по умолчанию на отредактированные обратные вызовы ActionBarSherlock (например, вместо Android.View.ActionMode используйте com.actionbarsherlock.view.ActionMode).

16
ответ дан 28 November 2019 в 21:13
поделиться

ActionBarSherlock имеет собственную реализацию ActionMode, но вам придется вручную управлять его жизненным циклом, я написал об этом руководство .

2
ответ дан 28 November 2019 в 21:13
поделиться

Я столкнулся с той же проблемой. Это было решено, когда я нашел эту ссылку . По сути, вы должны создать класс обратного вызова, который реализует ActionMode.Callback. В этом классе вы надуваете панель действий своей контекстной панелью действий. При каждом выборе (или длительном щелчке) вы запускаете обратный вызов, используя метод startActionMode. См. Ссылку для рабочего кода =]

РЕДАКТИРОВАТЬ: Есть также пример на образцах Шерлока под /samples/demos/src/com/actionbarsherlock/sample/demos/ActionModes.java

0
ответ дан 28 November 2019 в 21:13
поделиться

Для более длинного клика пройдите по ссылкам ниже. Первый - это Java-код, необходимый для примера. Во-вторых, как определить макет:

1
ответ дан 28 November 2019 в 21:13
поделиться
Другие вопросы по тегам:

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