Дело в том что у меня есть Видео Плеер использую библиотеку и перед ним 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 при этом и видео продолжало играть?
А если нет, то в чем может быть дело?
Я не совсем уверен, что именно такой вариант правильный, но, если Ваш плеер — это одна из реализаций Android'ского View, попробуйте вызвать на нем метод .requestFocus(), он сфокусирует экран на Вашем плеере.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники