Ссылки, доступные для щелчка, и меню копирования/вставки в EditView в Android

У меня есть EditTextпросмотр в моем приложении для Android. Мне нужны «внутренние ссылки», это означает, что мне нужны некоторые кнопки или диапазон внутри EditText и с помощью onClickдля этой кнопки я могу выполнять некоторые действия ( не перенаправлять на веб-страницу). Я реализовал эти кнопки с помощью ClickableSpan()вот так

linkWord = "my link";
link = new SpannableString(linkWord);
cs = new ClickableSpan(){
private String w = linkWord;
    @Override
    public void onClick(View widget) {
    wrd.setText(w);
    }
};
link.setSpan(cs, 0, linkWord.length(), 0);
et.append(link);

Чтобы сделать этот диапазон кликабельным, я использовал

et.setMovementMethod(LinkMovementMethod.getInstance());

«Внутренние ссылки» работают нормально, но после использования et.setMovementMethod()копирование и вставка элементов отключаются в меню OnLongClick. И это проблема, потому что мне нужны "ссылки" в EditTextи одновременно копировать текст из этого представления.

У меня есть идея установить в слушателе OnLongClickListenerчто-то вроде removeMovementMethod()для временного отключения функции «ссылки» и использования меню с копированием/вставкой и после копирования текста включить метод setMovementMethod(). Но я не знаю, как это осознать.

Вы можете мне помочь? Возможно, есть и другие способы...

Спасибо!

5
задан Ibungo 5 December 2013 в 11:57
поделиться