Ivan_sjc

Problemas Adapter

Nov 24th, 2020
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.98 KB | None | 0 0
  1. ****** Main Activity
  2.  
  3. package com.novoandroid.listadetarefas.activity;
  4.  
  5. import android.content.ContentValues;
  6. import android.content.Intent;
  7. import android.os.Bundle;
  8.  
  9. import com.google.android.material.floatingactionbutton.FloatingActionButton;
  10. import com.novoandroid.listadetarefas.R;
  11. import com.novoandroid.listadetarefas.adapter.TarefaAdapter;
  12. import com.novoandroid.listadetarefas.helper.DbHelper;
  13. import com.novoandroid.listadetarefas.helper.RecyclerItemClickListener;
  14. import com.novoandroid.listadetarefas.helper.TarefaDAO;
  15. import com.novoandroid.listadetarefas.model.Tarefa;
  16.  
  17. import androidx.appcompat.app.AppCompatActivity;
  18. import androidx.appcompat.widget.Toolbar;
  19. import androidx.recyclerview.widget.DividerItemDecoration;
  20. import androidx.recyclerview.widget.LinearLayoutManager;
  21. import androidx.recyclerview.widget.RecyclerView;
  22.  
  23. import android.util.Log;
  24. import android.view.View;
  25. import android.view.Menu;
  26. import android.view.MenuItem;
  27. import android.widget.AdapterView;
  28. import android.widget.LinearLayout;
  29.  
  30. import java.util.ArrayList;
  31. import java.util.List;
  32.  
  33. public class MainActivity extends AppCompatActivity {
  34.  
  35.     private RecyclerView recyclerView;
  36.     private TarefaAdapter tarefaAdapter;
  37.     private List<Tarefa> listaTarefas = new ArrayList<>();
  38.     @Override
  39.     protected void onCreate(Bundle savedInstanceState) {
  40.         super.onCreate(savedInstanceState);
  41.         setContentView(R.layout.activity_main);
  42.         Toolbar toolbar = findViewById(R.id.toolbar);
  43.         setSupportActionBar(toolbar);
  44.  
  45.         // Configurar recycler
  46.         recyclerView = findViewById(R.id.recyclerView);
  47.  
  48.         DbHelper db = new DbHelper(getApplicationContext());
  49.  
  50.         ContentValues cv = new ContentValues();
  51.         cv.put("nome","Teste");
  52.         db.getWritableDatabase().insert("tarefas",null, cv);
  53.  
  54.         //adicionar Evento de Click
  55.         recyclerView.addOnItemTouchListener(
  56.                 new RecyclerItemClickListener(
  57.                         getApplicationContext(),
  58.                         recyclerView,
  59.                         new RecyclerItemClickListener.OnItemClickListener() {
  60.                             @Override
  61.                             public void onItemClick(View view, int position) {
  62.                                 Log.i("Clique","onItemClick");
  63.                             }
  64.  
  65.                             @Override
  66.                             public void onLongItemClick(View view, int position) {
  67.                                 Log.i("Clique","onLongClick");
  68.  
  69.                             }
  70.  
  71.                             @Override
  72.                             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
  73.  
  74.                             }
  75.                         }
  76.                 )
  77.         );
  78.  
  79.  
  80.         FloatingActionButton fab = findViewById(R.id.fab);
  81.         fab.setOnClickListener(new View.OnClickListener() {
  82.             @Override
  83.             public void onClick(View view) {
  84.  
  85.                 Intent intent = new Intent(getApplicationContext(),AdicionarTarefaActivity.class);
  86.                 startActivity(intent);
  87.             }
  88.         });
  89.     }
  90.  
  91.     public void carregarListaTarefas(){
  92.  
  93.         // Listar Tarefas;
  94.         Tarefa  tarefa1  = new  Tarefa();
  95.         tarefa1.setNomeTarefa("ir ao mercado");
  96.         listaTarefas.add(tarefa1);
  97.  
  98.         Tarefa tarefa2 = new Tarefa();
  99.         tarefa2.setNomeTarefa("ir ao Bar");
  100.         listaTarefas.add(tarefa2);
  101.  
  102.       //  TarefaDAO tarefaDAO = new TarefaDAO(getApplicationContext());
  103.         //listaTarefas = tarefaDAO.listar();
  104.  
  105.  
  106.  
  107.  
  108.         //Configurar o Adapter
  109.  
  110.         tarefaAdapter = new TarefaAdapter(listaTarefas);
  111.  
  112.         // Configurar o Recycler View
  113.  
  114.         RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
  115.         recyclerView.setLayoutManager(layoutManager);
  116.         recyclerView.setHasFixedSize(true);
  117.         recyclerView.addItemDecoration(new DividerItemDecoration(getApplicationContext(), LinearLayout.VERTICAL));
  118.         recyclerView.setAdapter(tarefaAdapter);
  119.     }
  120.  
  121.     @Override
  122.     protected void onStart() {
  123.         carregarListaTarefas();
  124.         super.onStart();
  125.     }
  126.  
  127.     @Override
  128.     public boolean onCreateOptionsMenu(Menu menu) {
  129.         // Inflate the menu; this adds items to the action bar if it is present.
  130.         getMenuInflater().inflate(R.menu.menu_main, menu);
  131.         return true;
  132.     }
  133.  
  134.     @Override
  135.     public boolean onOptionsItemSelected(MenuItem item) {
  136.         // Handle action bar item clicks here. The action bar will
  137.         // automatically handle clicks on the Home/Up button, so long
  138.         // as you specify a parent activity in AndroidManifest.xml.
  139.         int id = item.getItemId();
  140.  
  141.         //noinspection SimplifiableIfStatement
  142.         if (id == R.id.action_settings) {
  143.             return true;
  144.         }
  145.  
  146.         return super.onOptionsItemSelected(item);
  147.     }
  148. }
  149.  
  150.  
  151.  
  152.  
  153. ****** Tarefa aDAPTER
  154.  
  155. package com.novoandroid.listadetarefas.adapter;
  156.  
  157. import android.view.LayoutInflater;
  158. import android.view.View;
  159. import android.view.ViewGroup;
  160. import android.widget.TextView;
  161.  
  162. import androidx.annotation.NonNull;
  163. import androidx.recyclerview.widget.RecyclerView;
  164.  
  165. import com.novoandroid.listadetarefas.R;
  166. import com.novoandroid.listadetarefas.model.Tarefa;
  167.  
  168. import java.util.List;
  169.  
  170. public class TarefaAdapter extends RecyclerView.Adapter<TarefaAdapter.MyViewHolder> {
  171.  
  172.     private List<Tarefa> listaTarefa;
  173.  
  174.     public TarefaAdapter(List<Tarefa> lista) {
  175.         this.listaTarefa = lista;
  176.     }
  177.  
  178.     @NonNull
  179.     @Override
  180.     public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  181.  
  182.         View itemLista = LayoutInflater.from(parent.getContext())
  183.                 .inflate(R.layout.lista_tarefa_adapter,parent,false);
  184.  
  185.         return new MyViewHolder(itemLista);
  186.     }
  187.  
  188.     @Override
  189.     public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
  190.  
  191.         Tarefa tarefa = listaTarefa.get(position);
  192.         holder.tarefa.setText(tarefa.getNomeTarefa());
  193.  
  194.     }
  195.  
  196.     @Override
  197.     public int getItemCount() {
  198.         return this.listaTarefa.size();
  199.     }
  200.  
  201.     public class MyViewHolder extends RecyclerView.ViewHolder{
  202.  
  203.         TextView tarefa;
  204.  
  205.  
  206.         public MyViewHolder(@NonNull View itemView) {
  207.             super(itemView);
  208.  
  209.             tarefa = itemView.findViewById(R.id.textTarefa);
  210.  
  211.         }
  212.     }
  213.  
  214.  
  215.  
  216. }
  217.  
  218. *************************************** Model Tarefa
  219.  
  220. package com.novoandroid.listadetarefas.model;
  221.  
  222. import java.io.Serializable;
  223.  
  224. public class Tarefa implements Serializable {
  225.  
  226.     private Long id;
  227.     private String nomeTarefa;
  228.  
  229.  
  230.     public Long getId() {
  231.         return id;
  232.     }
  233.  
  234.     public void setId(Long id) {
  235.         this.id = id;
  236.     }
  237.  
  238.     public String getNomeTarefa() {
  239.         return nomeTarefa;
  240.     }
  241.  
  242.     public void setNomeTarefa(String nomeTarefa) {
  243.         this.nomeTarefa = nomeTarefa;
  244.     }
  245. }
  246.  
  247.  
  248.  
Add Comment
Please, Sign In to add comment