Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
#1

Интересная особенность TextView - Программирование Android

22.08.2014, 11:51. Просмотров 597. Ответов 6
Метки нет (Все метки)

Столкнулся с интересной особенностью TextView, когда в нем находится гиперссылка, скажем на вебсайт. В layout стоят обычные атрибуты для активизации ссылок
Java
1
2
android:autoLink="all"
android:linksClickable="true"
Все работает отлично.
Но еще на экран привязан view.setOnTouchListener(new OnTouchListener()). Его задача отлавливать касание в определенной зоне экрана. Тоже работает отлично, но если в данный момент на экране нет ссылок. Как только в тексте, выводимом на экран появляется любая ссылка, касание в нужной зоне экрана перестает отлавливаться. даже, если в этой зоне и нет ссылок.

Интересно, почему такой эффект и как его можно обойти?

Добавлено через 21 час 44 минуты
Увы, но похоже эта проблема просто не решается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2014, 11:51     Интересная особенность TextView
Посмотрите здесь:

Клик по textview - Программирование Android
Есть listView внутри него textview В который вставляется ссылка '<a href="http://yandex.ru'>ыыыы</a>', таким вот образом ...

Часы в TextView - Программирование Android
Доброго времени суток. Делаю часы в textview, время ставлю через два NumberPicker. Все работает(если число минут меньше 10, то вперед...

TextView question - Программирование Android
Всем привет и хорошего дня. А можно ли в коде задавать TextView и присваивать текст из ресурсов strings? Или, если уж в xml всё это...

Обратиться к TextView - Программирование Android
Можно из просто класса public class MyClass { } из статического метода получить доступ к TextView? пробую так, но не...

Calendar textView - Программирование Android
Прошу прощение за название темы! Хотел назвать "Операции с датой + вывод в textView", но тут увидел автопоиск, ищущий по введённому...

TextColor textView - Программирование Android
Здравствуйте, возникла внезапно, то есть раньше всё в порядке было, такая проблема: цвет текста во всех textview изменился на дефаултный,...

TextView и Html - Программирование Android
Здравствуйте уважаемые форумчане! Мне нужно сделать вывод текста в TextView с разметкой Html, но все мои усилия тщетны, использую данную...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
22.08.2014, 12:11     Интересная особенность TextView #2
А если сделать листенер не на весь экран, а только на облость которая нужна?
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
22.08.2014, 13:31  [ТС]     Интересная особенность TextView #3
Зона касания сделана лишь на центр экрана. Получается, что при обнаружении ссылки методы TextView игнорируют OnTouchListener() вне этих ссылок. А вот найти какой метод TextView отвечает за это - не удалось
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
22.08.2014, 13:37     Интересная особенность TextView #4
Я имел ввиду вообще не на экран вешать, а на какой нибудь, к примеру, layout.
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
22.08.2014, 15:38  [ТС]     Интересная особенность TextView #5
Согласен, но у меня текст должен быть во весь экран.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
22.08.2014, 17:18     Интересная особенность TextView #6
А если попробовать не добавить дополнительный onTouchListener а переопределить его в TextView? То есть создать кастомный TextView и там в onTouchListener прописать то, что у вас сейчас на экране.

Добавлено через 4 минуты
Вот как то так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class MyTV extends TextView {
    public MyTV(Context context) {
        super(context);
    }
 
    public MyTV(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
 
    public MyTV(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
 
    @Override
    public void setOnTouchListener(OnTouchListener l) {
        //Тут код из вашего листенера на экране
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2014, 22:33     Интересная особенность TextView
Еще ссылки по теме:

Вывод в TextView - Программирование Android
Здраствуйте, я новичок и у меня возник первый вопрос: есть TextView tv1 и есть "InetAddress Address = InetAddress.getByName("www.ya.ru");"...

Изменение TextView - Программирование Android
Доброго времени суток ! Подскажите, как можно выводить список слов в textview, и по 2 button эти слова как бы листались выводя одно...

Цвет TextView - Программирование Android
Доброго времени суток! Подскажите пожалуйста, как сделать так чтобы background у textview был двумя цветами именно 2мя. Чтобы часть была...

Вывод в TextView - Программирование Android
Здраствуйте, я новичок и у меня возник первый вопрос: есть TextView tv1 и есть "InetAddress Address = InetAddress.getByName("www.ya.ru");"...

Прыжок к TextView - Программирование Android
На лаяуте имеется множество textView. интересует прыжок к выбранному textView через актионбар (три точки в верхнем правом углу). ...


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

Или воспользуйтесь поиском по форуму:
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
22.08.2014, 22:33  [ТС]     Интересная особенность TextView #7
Спасибо! Попробую
Yandex
Объявления
22.08.2014, 22:33     Интересная особенность TextView
Ответ Создать тему
Опции темы

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