Olá boa tarde! Fiz exatamente o que foi pedido. Eles move tanto para esquerda como para direita, porém quando clico para arrastar para cima ou para baixo não funciona de jeito nenhum.
Segue o projeto https://github.com/LBoreiko/Alura-Ceep.git
Olá boa tarde! Fiz exatamente o que foi pedido. Eles move tanto para esquerda como para direita, porém quando clico para arrastar para cima ou para baixo não funciona de jeito nenhum.
Segue o projeto https://github.com/LBoreiko/Alura-Ceep.git
Olá, Leonardo! Tudo bem?
Pelo que entendi, você está com dificuldades em implementar a funcionalidade de arrastar as notas para cima e para baixo no seu projeto.
Analisando o código que você compartilhou, percebi que você já fez as alterações necessárias no método getMovementFlags
do NotaItemTouchHelperCallback
para permitir o arraste nas direções desejadas. No entanto, ainda falta implementar a lógica para trocar a posição das notas na lista.
Para fazer isso, você precisa adicionar a lógica no método onMove
do NotaItemTouchHelperCallback
. Nesse método, você pode obter a posição inicial e final das notas arrastadas e, em seguida, realizar a troca de posição no banco de dados e no adapter.
Aqui está um exemplo de como você pode implementar essa lógica:
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
int posicaoInicial = viewHolder.getAdapterPosition();
int posicaoFinal = target.getAdapterPosition();
new NotaDAO().troca(posicaoInicial, posicaoFinal);
adapter.troca(posicaoInicial, posicaoFinal);
return true;
}
No exemplo acima, estou supondo que você possui um método troca
na classe NotaDAO
que realiza a troca de posição das notas no banco de dados. Além disso, estou supondo que você possui um método troca
no seu adapter que realiza a troca de posição das notas no RecyclerView.
Certifique-se de implementar esses métodos corretamente para que a troca de posição funcione corretamente.
Espero que isso ajude! Se tiver mais alguma dúvida, é só me dizer. Bons estudos!
Espero ter ajudado e bons estudos!