Как не терять фокус?

304
14 февраля 2017, 18:11

Дело в том что у меня есть Видео Плеер использую библиотеку и перед ним ImageView, то есть типа баннера, которая закрывает 30% видеоплеера. Каждые 15 секунд картинка должна меняться.

mBannerView.setImageBitmap(BitmapFactory.decodeFile(file.getAbsolutePath()));
Thread.sleep(1000 * 15);

Но у меня крешится при изменении картинки с сообщением:

Android “Only the original thread that created a view hierarchy can touch its views.”

Попробовал вписать эти строки в UI потоке:

runOnUiThread(new Runnable() {
    @Override
    public void run() {
        ............
    }
});

но тогда ImageView никак не реагирует ни на таймер, ни на изменение.

Я щас думаю (может и не прав, в таком случае поправьте пожалуйста) что фокус лежит на плеере так как видео играет и поэтому картинка находящаяся над ним когда меняется, грохается.

Если так то как быть в таком случае, как не терять фокус с ImageView при этом и видео продолжало играть? А если нет, то в чем может быть дело?

Answer 1

Я не совсем уверен, что именно такой вариант правильный, но, если Ваш плеер — это одна из реализаций Android'ского View, попробуйте вызвать на нем метод .requestFocus(), он сфокусирует экран на Вашем плеере.

READ ALSO
Чтение данных из Socket без задержки

Чтение данных из Socket без задержки

Имеется приложение, логика которого следующая: 1) Приложение подключается к серверу2) При нажатии на кнопку приложение читает данные от сервера

313
Стили для подменю

Стили для подменю

Проблема в том, что на сайте написан на wordpress не получается задать чтобы пункт подменю был ниже самого основного менюКогда я задаю отступ...

236
Как сделать на весь экран? [требует правки]

Как сделать на весь экран? [требует правки]

Отступы не стоят,не могу понять чего так(

268