Pelo que entendi você está com problema é na lógica de negócio, e não com o Android.
O que você pode fazer é mapear as coisas. Em resumo, uma área X apenas pode enviar a imagem para uma área Y.
No seu OnDragListener, tente fazer algo do tipo:
// Defina variáveis para guardar a view de origem e de destino
View from;
View to;
// Mantenha um mapa com os casos possíveis
Map<View> fromTo = new HashMap<View, View>();
fromTo.put(area5, area2);
fromTo.put(area4, area1);
fromTo.put(area6, area3);
public boolean onDrag(View v, DragEvent event) {
final int action = event.getAction();
switch(action) {
case DragEvent.ACTION_DRAG_STARTED:
from = v;
break;
case DragEvent.ACTION_DROP;
to = v;
// Verifica se o drop foi feito numa área ok
boolean dropOK = checkIfDropIsOK();
if (dropOK) {
// Se dropOK, então faz o que você precisa fazer
} else {
// Se dropOK for false, faz o que você precisa
}
break;
}
}
private boolean checkIfDropIsOK() {
View possibleFrom = fromTo.get(to);
return from.equals(possibleFrom);
}
Em segunda-feira, 18 de julho de 2016 17:13:14 UTC-3, Luciano Amarante escreveu:
Boa tarde e noite...Em anexo vai o código fonte e a descrição do Problema que tenho.Desde já agradeço.Att.Luciano.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.






0 comentários:
Postar um comentário