Intereting Posts
AccountManager без адаптера синхронизации? Как применить стиль программно? Кэширование изображений и отображение В Android, как отключить функцию входа в систему EditText? Может ли logcat использоваться для регистрации кода NDK в Android? Или что такое параметры регистрации от NDK? RelativeLayout высота для заполнения оставшегося пространства Как подключить Android-приложение к базе данных MySQL? Влияние установки видимости родительского вида на своих детей Получить имя атрибута из массива строк В чем смысл android.location.LocationManager.PASSIVE_PROVIDER? Подсказка и текст с правильной гравитацией и одиночной линией Как остановить воспроизведение youtube видео в веб-браузере Android? Android WebKit сфокусированный текст не будет рисовать фоновое изображение Как лучше всего добавить систему комментариев / рейтинга в приложение для Android «Частный статический конечный» член тестового класса блока Android меняет значение на null

OnClick () для ClickableSpan не работает для URLSpan?

В TextView я хочу всплывать тосты всякий раз, когда нажимается гиперссылка, вместо того, чтобы открывать соответствующий URL-адрес в браузере. Я использую следующий код, но проблема здесь в методе onClick (), кажется, никогда не называется !!:

String source = "<a href=\"http://www.google.com\">link</a> "; // Get SpannableStringBuilder object from HTML code CharSequence sequence = Html.fromHtml(source, imgGetter, null); SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence); // Get an array of URLSpan from SpannableStringBuilder object URLSpan[] urlSpans = strBuilder.getSpans(0, strBuilder.length(), URLSpan.class); // Add onClick listener for each of URLSpan object for (final URLSpan span : urlSpans) { int start = strBuilder.getSpanStart(span); int end = strBuilder.getSpanEnd(span); strBuilder.setSpan(new ClickableSpan() { @Override public void onClick(View widget) { Toast toast = Toast.makeText(context, "well done! you click " + span.getURL(), Toast.LENGTH_SHORT); toast.show(); } }, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } TextView t4 = (TextView) findViewById(R.id.text4); t4.setText(strBuilder); // No action if this is not set t4.setMovementMethod(LinkMovementMethod.getInstance()); 

Может ли кто-нибудь сказать мне, что не так с моим кодом и как его исправить? Благодарю.

Solutions Collecting From Web of "OnClick () для ClickableSpan не работает для URLSpan?"