Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Адренс Аксидор
5 / 5 / 1
Регистрация: 16.05.2012
Сообщений: 92
#1

HTML ссылки в Android - Программирование Android

20.11.2015, 11:35. Просмотров 349. Ответов 9
Метки нет (Все метки)

Здравствуйте.
Есть TextView, в который загружается HTML-код, в том числе и ссылки. Собственно по нажатию на ссылку она открывается в браузере (т.е. не в моем приложении).
Вопрос 1: как отловить по какой ссылке перешел пользователь? (т.е. в TextView есть несколько ссылок, пользователь, например, перешел по ссылке "a", браузер открылся, но в мое приложение в какую-то переменную занеслась информация о том, что пользователь перешел именно по ссылке "a"?
Вопрос 2: как-нибудь можно сделать разные цвета ссылок? В смысле тег <font color=> не работает для <a>, через TextColorLink устанавливается один цвет для всех ссылок.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2015, 11:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос HTML ссылки в Android (Программирование Android):

Ссылки на мануалы по созданию android игр - Программирование Android
Ссылки на мануалы по созданию android игр на android studio Киньте линков.

Html+Android - Программирование Android
Подскажите как реализовать такую задачу, которую мы наблюдаем в андроид-маркете?: После нажатия кнопки в браузере &quot;скачать&quot; файл...

Android Studio и HTML - Программирование Android
Привет всем. Возникла проблема с html текстом в android studio. &lt;resources&gt; &lt;string name=&quot;minimize_hint_text&quot;&gt; It is a...

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? - Программирование Android
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: ...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast - Программирование Android
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb? - Программирование Android
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

9
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
20.11.2015, 12:44 #2
В TextView не знаю, а в WebView отлавливается на раз-два.
Java
1
2
final HitTestResult result = webView.getHitTestResult();   
//result.getExtra()
1
Адренс Аксидор
5 / 5 / 1
Регистрация: 16.05.2012
Сообщений: 92
20.11.2015, 13:03  [ТС] #3
К сожалению WebView мне не подходит (может просто мало пока про него знаю).
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
20.11.2015, 13:21 #4
Погугли android listener url in textview, много ссылок дает.
1
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
20.11.2015, 14:02 #5
что-то у меня сильное впечатление, что Вы используете TextView слегка за пределами того, для чего он был придуман-сделан. imho Вам правильно указали на WebView.
1
Адренс Аксидор
5 / 5 / 1
Регистрация: 16.05.2012
Сообщений: 92
20.11.2015, 14:16  [ТС] #6
Цитата Сообщение от bastrakov Посмотреть сообщение
что-то у меня сильное впечатление, что Вы используете TextView слегка за пределами того, для чего он был придуман-сделан. imho Вам правильно указали на WebView.
Дело в том, что я обращаюсь по ссылке "ла-ла-ла.html" (т.е. мне нужен только один конкретный сайт), но получаю XML-код, который WebView не может обработать (просто выводит сам код). Поэтому я делаю парсинг XML-кода (мне нужно не все), преобразую полученное в HTML нужного мне вида и загружаю в TextView. В целом могу переделать в ListView, если там есть нужный функционал.
Это первое мое интернет-приложение, да и под Андроид я раньше создавал только простые программы типа калькулятора и примитивных игр, поэтому пока еще много не знаю.
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,654
Завершенные тесты: 1
20.11.2015, 14:20 #7
Цитата Сообщение от Адренс Аксидор Посмотреть сообщение
получаю XML-код, который WebView не может обработать (просто выводит сам код). Поэтому я делаю парсинг XML-кода (мне нужно не все), преобразую полученное в HTML нужного мне вида и загружаю в TextView
Ну можно все точно так же, только заменить "загружаю в TextView" на "загружаю в WebView".
1
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
20.11.2015, 14:42 #8
В браузере тоже xml показывает? Если показывает нормальную страницу, то только WebView и парсинг.
1
Адренс Аксидор
5 / 5 / 1
Регистрация: 16.05.2012
Сообщений: 92
20.11.2015, 15:45  [ТС] #9
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Ну можно все точно так же, только заменить "загружаю в TextView" на "загружаю в WebView"
Справедливо, что-то я сглупил. Спасибо за совет.

Добавлено через 34 минуты
Только такой вопрос: как getHitTestResult() отлавливает переходы? Он задается как событие типа TouchEvent или OnClick или внутри этих событий?
Вопрос про цвета с переходом на WebView отпал сам собой.
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,654
Завершенные тесты: 1
20.11.2015, 16:38 #10
Как-то так примерно.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mWebView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
         //Проверку нужно доделать или убрать, сейчас будет обрабатывать только http протокол.
         if (url != null && url.startsWith("http://")) {
            //тут можно добавить что-то для отслеживания.
            
            //это чтобы ссылка открылась в дефолтном браузере, а не в этом WebView
            view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            return true;
        } else {
            return false;
        }
    }
});
0
20.11.2015, 16:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2015, 16:38
Привет! Вот еще темы с ответами:

Android NDK. Как пользоваться? Когда стоит использовать его вместо Android SDK? - Программирование Android
Можно ли писать в нем готовые приложения Android?

Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал - Программирование Android
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае - &quot;RTFM&quot; и точка. Так вот, официального мануала, где есть ответ на...

Android.support.v4.app.FragmentActivity не работает в Android Studio - Программирование Android
объясните пожалуйста,как в андроид студио добавить вышеуказанную библиотеку,чтобы работало у меня вот это Активити package...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете? - Программирование Android
Какую фирму посоветуете?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru