1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Recuperar dados do adapter e setar na tela através do RecycleView

Fala Galera, Blew?

Estou com dificuldade em entender onde estou errando, aplicativo não apresenta erro. Porém não recupera os dados, não setando na tela o item clicado. O que estou fazendo de errado?

//Envia os dados (Acredito estar correto).

//Configuração evento de clique
        recyclerBook.addOnItemTouchListener(
                new RecyclerItemClickListener(
                        this,
                        recyclerBook,
                        new RecyclerItemClickListener.OnItemClickListener() {
                            @Override
                            public void onItemClick(View view, int position) {


                                Book book = new Book();
                                book.setTitle(book.getTitle());
                                book.setWriter(book.getWriter());
                                book.setThumbnailHd(book.getThumbnailHd());

                                Intent intent = new Intent(MainActivity.this, LivrosLendo.class);
                                intent.putExtra("Title", book.getTitle());
                                intent.putExtra("Escritor", book.getWriter());
                                //intent.putExtra("Img", book.getThumbnailHd());
                                startActivity(intent);

                                Toast.makeText(MainActivity.this,
                                        "Posição Selecionada :" + book, Toast.LENGTH_LONG)
                                        .show();

                            }

//Recebe os dados

if (getIntent().getSerializableExtra("Title") != null) {

                    Intent intent = getIntent();
                    Book book = (Book) intent.getSerializableExtra("Title");

                    ArrayList<Book> eList = new ArrayList<>();
                    eList.add(book);
                    BookAdapter adapter = new BookAdapter(listaBooks);
                    //adapter.notifyDataSetChanged();
                    RecyclerView.LayoutManager manager = new LinearLayoutManager(LivrosLendo.this);
                    recyclerBook = findViewById(R.id.recyclerBook);
                    recyclerBook.setHasFixedSize(true);
                    recyclerBook.setLayoutManager(manager);
                    recyclerBook.setAdapter(adapter);


                }

            }

        });

//adapter, caso necessário

public class BookAdapter extends RecyclerView.Adapter<BookAdapter.MyViewHolder> {

    private List<Book> listaBooks;
    public BookAdapter(List<Book> listaBooks) {
        this.listaBooks = listaBooks;
    }

    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.bookadapter, viewGroup, false);
        return new BookAdapter.MyViewHolder(view);
    }
    @Override
    public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
        Book book = listaBooks.get(i);
        myViewHolder.title.setText(book.getTitle());
        myViewHolder.price.setText(book.getPrice());
        myViewHolder.writer.setText(book.getWriter());

        String url =  book.getThumbnailHd();
        Picasso.get().load(url).into(myViewHolder.thumbnailHd);


    }

    @Override
    public int getItemCount() {
        return listaBooks.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder{

        private TextView    title;
        private TextView    price;
        private TextView    writer;
        private ImageView   thumbnailHd;
        private TextView    date;

        MyViewHolder(@NonNull View itemView) {
            super(itemView);

            thumbnailHd = itemView.findViewById(R.id.imageBook);
            title = itemView.findViewById(R.id.texttitle);
            price = itemView.findViewById(R.id.textPrice);
            writer = itemView.findViewById(R.id.textwriter);

        }
    }

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android java mobile ou faça a sua própria pergunta.