Intereting Posts
HttpResponse с использованием проблемы Android: выполнение всегда вызывает исключение? Android: плотность устройства возвращается с нуля на некоторых устройствах Android: AutoCompleteTextView показывает предложения, когда текст не вводится Сделать изображение Файл доступен в галерее Android на Lollipop Получать метаинформацию activityInfo в методе onCreate Маркер карты с текстом в Google Maps API Android v2 Создание пользовательских карт Google Как показать на экране позицию курсора на планшете Android или смартфоне? Блокировка ориентации экрана (Android) Должен ли я использовать PopupWindow или DialogFragment для принятия ввода? Планирование транзакций с несколькими фрагментами Android Как программировать простой музыкальный секвенсер для Android (Java) Android 3.x + Java ZipFile Class – Невозможно прочитать ZipEntries из больших файлов Как поместить идентификатор сеанса cookie в запрос волейбола? Платформа Cordova добавляет ошибку android

Функция сна в программе Android

У некоторых проблем с запуском моей программы. Что я пытаюсь сделать, так это когда btnStart нажата, чтобы случайно установить изображения на 12 ImageButtons. Затем я хочу, чтобы он приостановился на 5 секунд, а затем изменил первый ImageButton на другое изображение

Мой код выглядит так, прямо сейчас он приостанавливается, когда кнопка нажата …

btnStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Collections.shuffle(pic); int time=1; press=true; pic.get(0).setImageDrawable(getResources().getDrawable(R.drawable.memgreen)); pic.get(1).setImageDrawable(getResources().getDrawable(R.drawable.memgreen)); pic.get(2).setImageDrawable(getResources().getDrawable(R.drawable.memred)); pic.get(3).setImageDrawable(getResources().getDrawable(R.drawable.memred)); pic.get(4).setImageDrawable(getResources().getDrawable(R.drawable.memblue)); pic.get(5).setImageDrawable(getResources().getDrawable(R.drawable.memblue)); pic.get(6).setImageDrawable(getResources().getDrawable(R.drawable.memwhite)); pic.get(7).setImageDrawable(getResources().getDrawable(R.drawable.memwhite)); pic.get(8).setImageDrawable(getResources().getDrawable(R.drawable.mempurple)); pic.get(9).setImageDrawable(getResources().getDrawable(R.drawable.mempurple)); pic.get(10).setImageDrawable(getResources().getDrawable(R.drawable.memyellow)); pic.get(11).setImageDrawable(getResources().getDrawable(R.drawable.memyellow)); try { Thread.sleep(5000); pic.get(0).setImageDrawable(getResources().getDrawable(R.drawable.coin)); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); 

Solutions Collecting From Web of "Функция сна в программе Android"

Ну, если вы хотите, чтобы пользовательский интерфейс оставался отзывчивым, вы не можете заблокировать поток пользовательского интерфейса с помощью Thread.sleep .

Создайте новый поток, а затем спать. После сна запустите метод изменения вида, который можно вырезать в потоке пользовательского интерфейса

 new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } runOnUiThread(new Runnable() { @Override public void run() { pic.get(0).setImageDrawable(getResources().getDrawable(R.drawable.coin)); } }); } }).start();