Animação estranha na Galeria quando um inválido é solicitado por seus filhos
Este é o adaptador da minha Galeria no qual exibo ImageViews (polegar de uma página)
Eu quero carregar as imagens ASync (algumas vezes isso pode vir da Rede), então eu fiz esse código:
public View getView(int position, View convertView, ViewGroup parent) {
final ImageView image = convertView != null ? convertView : new ImageView(getContext());
final PageInfo page = getItem(position);
image.setBackgroundColor(Color.WHITE);
image.setLayoutParams(new Gallery.LayoutParams(96, 170));
new AsyncTask<Void, Void, Bitmap>() {
@Override
protected Bitmap doInBackground(Void... arg0) {
try {
File thumbnail = page.thumbnail();//Thumbnail download the image if not available
return BitmapFactory.decodeStream(new FileInputStream(thumbnail));
} catch (ApplicationException e) {
return null;
} catch (NetworkException e) {
return null;
}
}
protected void onPostExecute(Bitmap result) {
if (result == null)
return;
image.setImageBitmap(result);
};
}.executeOnExecutor(executor);
return image;
}
Isso funciona, mas se eu estiver arrastando a Galeria, as visualizações (ao mudar para o Bitmap real) saltarão para outra posição dentro da cozinha, tornando-a estranh
Como posso evitar isso? Ou posso alterar a imagem de um ImageView sem solicitar o layout do ViewGroup?
EDIT: Uma pergunta semelhante nos grupos de desenvolvedores do Googlehttp: //code.google.com/p/android/issues/detail? id = 15526