#android
#Android
Вопрос:
Этот код поворачивает изображение до тех пор, пока я продолжаю нажимать кнопку. Проблема начинается, когда я перестаю нажимать кнопку — приложение сворачивается. Можете ли вы помочь мне определить проблему?
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable(){
@Override
public void run(){
if (btn.isPressed())
{
i ;
eagleview = (ImageView) findViewById(imageView3);
Matrix matrix = new Matrix();
eagleview.setScaleType(ImageView.ScaleType.MATRIX);
matrix.postRotate((float) i, eagleview.getHeight()/2,eagleview.getWidth()/2);
eagleview.setImageMatrix(matrix);
}
}
});
}
}, 0, 10);
}}
Ответ №1:
Timer timer = new Timer();
OnButtonClick(){
//Check for timer is running or not according to it cancel previous scheduled task
timer.cancel(); //Terminates this timer,discarding any currently scheduled tasks.
timer.purge(); // Removes all cancelled tasks from this timer's task queue.
timer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable(){
@Override
public void run(){
if (btn.isPressed())
{
i ;
eagleview = (ImageView) findViewById(imageView3);
Matrix matrix = new Matrix();
eagleview.setScaleType(ImageView.ScaleType.MATRIX);
matrix.postRotate((float) i, eagleview.getHeight()/2,eagleview.getWidth()/2);
eagleview.setImageMatrix(matrix);
}
}
});
}
}, 0, 10);
}}
}
Комментарии:
1. не работает — активность сворачивается ранее, ничего не делая