Как я могу написать свое собственное контекстное меню для копирования и вставки? - PullRequest
6 голосов
/ 09 февраля 2010

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

Ответы [ 2 ]

2 голосов
/ 28 мая 2010

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

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

Смежные вопросы

1 голос
/ 09 февраля 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...