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
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!