Я пишу приложение с EditText управляемый виджет. и я хотел бы создать свою собственную копию и меню вставки. Заменять меню значения по умолчанию андроида на EditText, что я должен сделать? Просто переопределив длинный щелчок? или есть ли другой способ реализовать?Заранее спасибо.
Считается, что это в некоторой степени стандартное упражнение по реализации копирования/вставки путем перезаписи системы меню, самостоятельного создания пунктов меню и собственного внутреннего буфера.
Однако, это не то, как это должно быть сделано, если на платформе доступен лучший способ. Повторное внедрение функций платформы хорошо для обучения, но плохо для обслуживания.
Вики-сообщество, так как это не настоящий ответ, и я не должен получить за это репутацию.
В EditText уже должно быть включено контекстное меню. В противном случае вам пришлось бы включить его, вызвав registerForContextMenu . После того, как вы включили контекстное меню, вы должны добавить в него элементы. Это делается в onCreateContextMenu с помощью одного из методов Menu.add .
Самая сложная часть - это написание кода для onContextItemSelected после того, как пользователь выбрал параметр. Для сохранения текста в буфер обмена достаточно вызвать ((ClipboardManager) getSystemService (CLIPBOARD_SERVICE)). SetText ("myText");
. Однако сначала нам нужно найти, какой текст копировать. Я еще не понял эту последнюю часть, но надеюсь, что скоро пойму.
Связанные вопросы