1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| private class ChargeMapTask extends AsyncTask<Float, Void, Void> {
@Override
protected Void doInBackground(Float... params) {
deplaceAff(params[0], params[1]); // même procédure que dans le code original
return null;
}
@Override
protected void onPostExecute(Void result) {
monImg.invalidate();
}
}
affCarte.setOnTouchListener(new View.OnTouchListener() { // Déplacement de la carte par touché de l'écran
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
...
if (action == MotionEvent.ACTION_DOWN) {
xd = event.getX();
yd = event.getY();
}
if (action == MotionEvent.ACTION_MOVE) {
new ChargeMapTask().execute(event.getX(), event.getY()); // appel de la tâche asynchrone
}
return false;
}
}); |