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

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

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

Интересная особенность TextView - Android

22.08.2014, 11:51. Просмотров 555. Ответов 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
Цвет TextView Android
Android TextView in ProgressBar
Android Вывод в TextView
Android TextView question
Calendar textView Android
Вывод в textView из БД Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spelcrawler
522 / 492 / 110
Регистрация: 12.03.2014
Сообщений: 1,643
Завершенные тесты: 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
522 / 492 / 110
Регистрация: 12.03.2014
Сообщений: 1,643
Завершенные тесты: 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
522 / 492 / 110
Регистрация: 12.03.2014
Сообщений: 1,643
Завершенные тесты: 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
Еще ссылки по теме:

Android Клик по textview
Android TextView and Fragment
Android TextView а AlertDialog
TextColor textView Android
EditText и TextView Android

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

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

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