Как я могу записать свое собственное контекстное меню для копии и вставки?

Я пишу приложение с EditText управляемый виджет. и я хотел бы создать свою собственную копию и меню вставки. Заменять меню значения по умолчанию андроида на EditText, что я должен сделать? Просто переопределив длинный щелчок? или есть ли другой способ реализовать?Заранее спасибо.

6
задан skysign 9 February 2010 в 05:58
поделиться

2 ответа

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

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

Вики-сообщество, так как это не настоящий ответ, и я не должен получить за это репутацию.

1
ответ дан 17 December 2019 в 18:15
поделиться

В EditText уже должно быть включено контекстное меню. В противном случае вам пришлось бы включить его, вызвав registerForContextMenu . После того, как вы включили контекстное меню, вы должны добавить в него элементы. Это делается в onCreateContextMenu с помощью одного из методов Menu.add .

Самая сложная часть - это написание кода для onContextItemSelected после того, как пользователь выбрал параметр. Для сохранения текста в буфер обмена достаточно вызвать ((ClipboardManager) getSystemService (CLIPBOARD_SERVICE)). SetText ("myText"); . Однако сначала нам нужно найти, какой текст копировать. Я еще не понял эту последнюю часть, но надеюсь, что скоро пойму.

Связанные вопросы

2
ответ дан 17 December 2019 в 18:15
поделиться
Другие вопросы по тегам:

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