Ver mensagens sem resposta | Ver tópicos ativos Hoje é 26 Mai 2019, 01:55



Responder Tópico  [ 1 Mensagem ] 
 Pesquisa não retorna resultados 
Autor Mensagem
What is a Activity?
What is a Activity?

Data de registro: 22 Set 2018, 21:32
Mensagens: 13
Mensagem Pesquisa não retorna resultados
Boa noite pessoal,
Estou a algum tempo com problema no meu aplicativo, está funcionando tudo, menos a pesquisa. Já tinha feito até um tópico aqui e o rapaz estava me ajudando, porém não consegui mais sair do lugar rsrs
Eu consigo cadastrar os produtos, quando vou na tela de consulta, eu consigo deletar ou editar o produto, porém nessa mesma tela de consulta de todos os produtos, eu tenho um campo de busca que ao digitar o modelo do produto, ele deveria me trazer os resultados, mas ele só limpa a tela quando digito e não está trazendo resultado nenhum.. Realmente não sei o que tem de errado pra não estar retornando nada. Alguém, por favor, porderia me salvar? /uu
Se for o caso, eu posso mandar o projeto completo por email pra ficar mais fácil de entender o problema.
Seguem os códigos:

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">


    <RelativeLayout
        android:layout_width="838dp"
        android:layout_height="431dp">



        <ImageView
            android:id="@+id/logo"
            android:layout_width="567dp"
            android:layout_height="137dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="32dp"
            android:src="@drawable/marca">


        </ImageView>


        <SearchView
            android:id="@+id/searchview"
            android:layout_width="269dp"
            android:layout_height="67dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:layout_marginBottom="52dp"
            android:layout_marginStart="211dp" />


        <TextView
            android:id="@+id/textView"
            android:layout_width="151dp"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:layout_marginBottom="68dp"
            android:layout_marginStart="43dp"
            android:text="Aperte na lupa para fazer sua pesquisa!"
            android:textColor="#826e3e"
            android:textStyle="bold" />


        <Button
            android:layout_width="269dp"
            android:layout_height="67dp"
            android:layout_alignParentEnd="true"
            android:layout_alignTop="@+id/searchview"
            android:layout_marginEnd="67dp"
            android:background="#826e3e"
            android:onClick="eventAtualizarProdutos"
            android:text="Atualizar"
            android:textColor="@android:color/background_light" />



        <ImageView
            android:id="@+id/linnha"
            android:layout_width="757dp"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:layout_marginStart="23dp"
            android:src="@drawable/linha">


        </ImageView>



    </RelativeLayout>


    <ListView
        android:id="@+id/lsvProdutos"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


    </ListView>




</LinearLayout>




ListarProdutos.java


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);


        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());

    }





}
 



AdapterListaProdutos.java

public class AdapterListaProdutos extends BaseAdapter {
    private Context context;
    private List<Produto> produtoList;
    private List<Produto> becape;
    private AdapterListaProdutos adapterListaProdutos;

    public AdapterListaProdutos(Context context, List<Produto> produtoList) {
        this.context = context;
        this.produtoList = produtoList;
        becape = new ArrayList<>(produtoList);
    }

    public void filtrar(String texto) {
        produtoList.clear();

        if (texto.isEmpty()) {
            produtoList.addAll(becape);
        } else {
            String filtro = texto.toLowerCase();

            for (Produto produto : produtoList) {
                String modelo = produto.getModelo().toLowerCase();

                if (modelo.contains(filtro)) {
                    produtoList.add(produto);
                }
            }
        }
        notifyDataSetChanged();
    }


    //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();
    }

}
 



Obrigada!


22 Dez 2018, 21:32
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 1 Mensagem ] 

Quem está online

Usuários vendo este fórum: ac0502, adelar, ademilson, alansousa, alberto, albinoneto, alex, alexandre, alexmarcolongo, alexvbh, am2net, amarildolacerdas, Andreid, andreleitao, andrewort, andrigo, ARAKINIDIO, Augusto, b7web, Berbert, betofigu, brunogh, brunomalka, C-3PO, caciara, caiodemarco, Carlos, celiapinheiro, china, CKorneLL, comolatti, cosmotheoro, Cr-Informática, darllan.marinho, Darth Vader, dfreitas, diogeneskelsen, dnakamashi, edsonel, eduardo.ali, edwarvelarde, eferrari, eloilton, espinhara.net, estratecnologia, Faroli, Felipe, fernando neves, flaviohssantos, Flávio Robertgo, fmakula, fracon, frances135, Francisco_Geraldo, Gabriel Teófilo, gabrielpg, germanno, Gomes, Gooooogle, guiba_picolino, HyagoRules, j-menezes, jacard, jacksaum, jacquesbica, JairoCN, Jalerson, jefficojava, jhhm_2008, jhonguitar, Joessi2007, Jorge Machin, Josinhaz, jpespindola, jrsilva, juliomar, juniorsk8, kecyobarros, klausenner, klebersilvarocha, kristopher, Legiao, lfalcao, lfirpo, lhdiassilva, lillian.brandao, linukiss, lucastgomes, luizcarlosvb, MarceloLuz, marciosoliveira, marcosandreao, marcosrogel, marcow, marianatallas, Marini, mateulove, maurosilva, mcroft, miguel, MpassosT, nardosnt, Nice, nilsgome, Nute Gunray, On_7, otpor, PAMinhoto, pchofard, phfmendes, Portal Android, pxcx, rafael.winter, Ranieri, raulcca, reginaldofdias, renata, renatocoliveira, rfrafael, Rickxdx, robertofonte, rocha, rodrigo_corinthians, rodrigo_mg, Roll, romuloff, Rufino, sasuke_sarutobi, ScoobyGB, SEO Crawler, siker C3PO, Silvio Vaz, skcratch, soulmachine, tchou, thienne, Thitto, tiago, tiagoxv, tonylock, Vania, Vector, vicfalmac, washington, wilsond, Wookiees, xa:=zin e 15 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi