2015-08-17 1 views
0

Я сделал анимацию (я назвал ее slide.xml), мое простое приложение включает в себя кнопку, когда пользователь нажимает кнопку, анимация начинается в ImageView, Я хочу сделать изображениеView невидимым после завершения анимации. Я искал интернет, и я нашел, что использование обработчика - это то, что нужно сделать.Как задержать работу в android (почему не работает обработчик?)

это то, что я пробовал:

import java.util.logging.Handler; 

и метод OnClick:

imageViewForGif = (ImageView) findViewById(R.id.imageviewForGif); 
    imageViewForGif.setBackgroundResource(R.drawable.slide); 
    AnimationDrawable frameAnimation = (AnimationDrawable) imageViewForGif.getBackground(); 
    imageViewForGif.setVisibility(View.VISIBLE); 
    frameAnimation.start(); 

    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     public void run() { 
      imageViewForGif.setVisibility(View.INVISIBLE); 
     } 
    }, 2000); 
} 

но компилятор не распознает new Handler() и postDelayed. я не знаю, что я сделал неправильно

ответ

0

Попробуйте использовать этот оператор импорта:

import android.os.Handler; 

вместо import android.util.logging.Handler;

Что вы ищете является андроиды Handler, который управляет очередями потоков. Обработчик регистрации Java на самом деле ничего не стоит беспокоиться. Из документации:

андроид: Есть два основных способа применения Обработчика: (1) запланировать сообщения и runnables быть выполнен в виде какой-то момент в будущем; и (2) установить действие, выполняемое в другом потоке, чем ваше собственное.


Java: объект Обработчик принимает запрос протоколирования и экспортирует выбранные сообщения к цели, к примеру, файл, консоль и т.д.

+0

Спасибо, я нажал alt + enter, и я подумал, что сама Android-студия будет импортировать правильно. –

2

Вы должны импортировать Handler из

import android.os.Handler; 

вместо

import java.util.logging.Handler; 

Я надеюсь, что это помогает!

+0

это сработало спасибо. –

1

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

import android.os.Handler;