Ir ao conteúdo
  • Cadastre-se

GabrielaFerrari

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0

1 Seguidor

  1. Bom dia, Estou desenvolvendo um aplicativo e dentro da tela de listagem de produtos cadastrados, queria colocar um searchview para nessa mesma tela me mostrar o produto que quero. Andei olhando alguns tutorias no Google, porém, ao digitar na barra de busca o que quero, ele não me retorna nada e não sei o que estou fazendo de errado. Teria alguma maneira mais fácil de colocar um searchview nessa minha listview pra me retornar o modelo digitado? Pois eu fiz dessa forma, mas não está buscando nenhum modelo: public class ListarProdutos extends AppCompatActivity { //criar list view pra exibir na tela private ListView lsvProdutos; private List<Produto> produtoList; private AdapterListaProdutos adapterListaProdutos; private ProdutoCtrl produtoCtrl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listar_produtos); //filtrar SearchView searchView = findViewById(R.id.searchview); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextChange(String newText) { adapterListaProdutos.filtrar(newText); return false; } @Override public boolean onQueryTextSubmit(String query) { return true; } }); this.produtoCtrl = new ProdutoCtrl(ConexaoSQLite.getInstancia(ListarProdutos.this)); produtoList = produtoCtrl.getListaProdutosCtrl(); this.lsvProdutos = (ListView) findViewById(R.id.lsvProdutos); this.adapterListaProdutos = new AdapterListaProdutos(ListarProdutos.this, this.produtoList); this.lsvProdutos.setAdapter(this.adapterListaProdutos); this.lsvProdutos.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, final int posicao, long id) { final Produto produtoSelecionado = (Produto) adapterListaProdutos.getItem(posicao); AlertDialog.Builder janelaDeEscolha = new AlertDialog.Builder(ListarProdutos.this); janelaDeEscolha.setTitle("Escolha:"); janelaDeEscolha.setMessage("O que deseja fazer com o produto selecionado?"); //Botão de cancelar janelaDeEscolha.setNeutralButton("Cancelar", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int id) { dialogInterface.cancel(); } }); //Botão de excluir janelaDeEscolha.setNegativeButton("Excluir", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int id) { boolean excluiu = produtoCtrl.excluirProdutoCTRL(produtoSelecionado.getId()); dialogInterface.cancel(); if(excluiu == true){ adapterListaProdutos.removerProduto(posicao); Toast.makeText(ListarProdutos.this,"Produto excluido com sucesso",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ListarProdutos.this,"Erro ao excluir produto",Toast.LENGTH_SHORT).show(); } } }); //Botão de editar janelaDeEscolha.setPositiveButton("Editar", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int id) { Bundle bundleDadosProdutos = new Bundle(); bundleDadosProdutos.putLong("id_produto", produtoSelecionado.getId()); bundleDadosProdutos.putString("corredor_produto", produtoSelecionado.getCorredor()); bundleDadosProdutos.putInt("prateleira_produto", produtoSelecionado.getPrateleira()); bundleDadosProdutos.putString("caixa_produto", produtoSelecionado.getCaixa()); bundleDadosProdutos.putString("colecao_produto", produtoSelecionado.getColecao()); bundleDadosProdutos.putString("modelo_produto", produtoSelecionado.getModelo()); bundleDadosProdutos.putInt("quantidade_produto", produtoSelecionado.getQuantidade()); bundleDadosProdutos.putString("tamanho_produto", produtoSelecionado.getTamanho()); Intent intentEditarProdutos = new Intent(ListarProdutos.this,EditarProdutos.class); intentEditarProdutos.putExtras(bundleDadosProdutos); startActivity(intentEditarProdutos); } }); janelaDeEscolha.create().show(); } }); } // Executa o evento clique no botao de atualizar public void eventAtualizarProdutos (View view){ //chamar o update do adapterProduto this.adapterListaProdutos.atualizar(this.produtoCtrl.getListaProdutosCtrl()); } } Muito obrigada!
  2. Bom dia pessoal, Eu quero adicionar um Searchview no meu aplicativo, pra quando eu ir na tela que mostra todos os produtos eu conseguir buscar pelo campo do modelo e o produto com esse modelo aparecer na tela pra mim... Vi alguns videos na internet mas não consegui entender direito como posso fazer, estou iniciando meus estudos no android ainda :s Alguém pode por favor me ajudar? Segue o código da tela: activity_listar_produtos.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".activities.ListarProdutos"> <SearchView android:layout_width="match_parent" android:layout_height="50dp" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#826e3e" android:onClick="eventAtualizarProdutos" android:text="Atualizar" android:textColor="@android:color/background_light" /> <ListView android:id="@+id/lsvProdutos" android:layout_width="match_parent" android:layout_height="wrap_content"> </ListView> </LinearLayout> Esse é o Adapter que criei de Listar Produtos: AdapterListaProdutos.java: package gabi.controleestoque.adapters; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Spinner; import android.widget.TextView; import java.util.List; import gabi.controleestoque.R; import gabi.controleestoque.model.Produto; public class AdapterListaProdutos extends BaseAdapter { private Context context; private List<Produto> produtoList; public AdapterListaProdutos(Context context, List<Produto> produtoList) { this.context = context; this.produtoList = produtoList; } //getCount = Tamanho da lista de produtos @Override public int getCount() { return this.produtoList.size(); } //getItem = pegar o item atraves da posição @Override public Object getItem(int posicao) { return this.produtoList.get(posicao); } //getItemId = vamos também pegar a posição @Override public long getItemId(int posicao) { return posicao; } //remove o item selecionado public void removerProduto(int posicao){ this.produtoList.remove(posicao); notifyDataSetChanged(); } //getView = Pegar os componentes @Override public View getView(int posicao, View view, ViewGroup viewGroup) { //carregar o layout View v = View.inflate(this.context, R.layout.layout_produto, null); TextView tvCorredor = (TextView) v.findViewById(R.id.tvCorredor); TextView tvPrateleira = (TextView) v.findViewById(R.id.tvPrateleira); TextView tvCaixa = (TextView) v.findViewById(R.id.tvCaixa); TextView tvColecao = (TextView) v.findViewById(R.id.tvColecao); TextView tvModelo = (TextView) v.findViewById(R.id.tvModelo); TextView tvQuantidade = (TextView) v.findViewById(R.id.tvQuantidade); TextView tvTamanho = (TextView) v.findViewById(R.id.tvTamanho); //pegar os valores digitados tvCorredor.setText(this.produtoList.get(posicao).getCorredor()); tvPrateleira.setText(String.valueOf(this.produtoList.get(posicao).getPrateleira())); tvCaixa.setText(this.produtoList.get(posicao).getCaixa()); tvColecao.setText(this.produtoList.get(posicao).getColecao()); tvModelo.setText(this.produtoList.get(posicao).getModelo()); tvQuantidade.setText (String.valueOf(this.produtoList.get(posicao).getQuantidade())); tvTamanho.setText(this.produtoList.get(posicao).getTamanho()); return v; } //atualiza a lista de produtos public void atualizar(List<Produto>pProdutos){ this.produtoList.clear(); this.produtoList = pProdutos; this.notifyDataSetChanged(); } } E esse é o meu listar produtos: ListarProdutos.java: package gabi.controleestoque.activities; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; import gabi.controleestoque.R; import gabi.controleestoque.adapters.AdapterListaProdutos; import gabi.controleestoque.controller.ProdutoCtrl; import gabi.controleestoque.dbHelper.ConexaoSQLite; import gabi.controleestoque.model.Produto; public class ListarProdutos extends AppCompatActivity { //criar list view pra exibir na tela private ListView lsvProdutos; private List<Produto> produtoList; private AdapterListaProdutos adapterListaProdutos; private ProdutoCtrl produtoCtrl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listar_produtos); this.produtoCtrl = new ProdutoCtrl(ConexaoSQLite.getInstancia(ListarProdutos.this)); produtoList = produtoCtrl.getListaProdutosCtrl(); this.lsvProdutos = (ListView) findViewById(R.id.lsvProdutos); this.adapterListaProdutos = new AdapterListaProdutos(ListarProdutos.this, this.produtoList); this.lsvProdutos.setAdapter(this.adapterListaProdutos); this.lsvProdutos.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, final int posicao, long id) { final Produto produtoSelecionado = (Produto) adapterListaProdutos.getItem(posicao); AlertDialog.Builder janelaDeEscolha = new AlertDialog.Builder(ListarProdutos.this); janelaDeEscolha.setTitle("Escolha:"); janelaDeEscolha.setMessage("O que deseja fazer com o produto selecionado?"); //Botão de cancelar janelaDeEscolha.setNeutralButton("Cancelar", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int id) { dialogInterface.cancel(); } }); //Botão de excluir janelaDeEscolha.setNegativeButton("Excluir", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int id) { boolean excluiu = produtoCtrl.excluirProdutoCTRL(produtoSelecionado.getId()); dialogInterface.cancel(); if(excluiu == true){ adapterListaProdutos.removerProduto(posicao); Toast.makeText(ListarProdutos.this,"Produto excluido com sucesso",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ListarProdutos.this,"Erro ao excluir produto",Toast.LENGTH_SHORT).show(); } } }); //Botão de editar janelaDeEscolha.setPositiveButton("Editar", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int id) { Bundle bundleDadosProdutos = new Bundle(); bundleDadosProdutos.putLong("id_produto", produtoSelecionado.getId()); bundleDadosProdutos.putString("corredor_produto", produtoSelecionado.getCorredor()); bundleDadosProdutos.putInt("prateleira_produto", produtoSelecionado.getPrateleira()); bundleDadosProdutos.putString("caixa_produto", produtoSelecionado.getCaixa()); bundleDadosProdutos.putString("colecao_produto", produtoSelecionado.getColecao()); bundleDadosProdutos.putString("modelo_produto", produtoSelecionado.getModelo()); bundleDadosProdutos.putInt("quantidade_produto", produtoSelecionado.getQuantidade()); bundleDadosProdutos.putString("tamanho_produto", produtoSelecionado.getTamanho()); Intent intentEditarProdutos = new Intent(ListarProdutos.this,EditarProdutos.class); intentEditarProdutos.putExtras(bundleDadosProdutos); startActivity(intentEditarProdutos); } }); janelaDeEscolha.create().show(); } }); } // Executa o evento clique no botao de atualizar public void eventAtualizarProdutos (View view){ //chamar o update do adapterProduto this.adapterListaProdutos.atualizar(this.produtoCtrl.getListaProdutosCtrl()); } } Queria digitar o modelo no campo de busca da tela de pesquisa e ele trazer pra mim na tela todos os produtos que foram cadastrados com esse modelo. Agradeço desde já!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!