Erro NullPointerException ao fazer um search View em uma ListView

1 resposta
java
Eduardo_Krakhecke

Estou montando uma aplicação, coloquei um search view na minha list view mas quando eu tento abrir minha lista de clientes, onde se encontra o search view dá erro de NullPoniter excepction na linha lista.setAdapter(cliAdapter); Não tenho muita experiência então peço para serem o mais claro possível…Obrigado

Meu código abaixo:

`import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.v7.widget.Toolbar;
 import android.text.Editable;
 import android.text.TextWatcher;
 import android.view.View;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.Toolbar;
 import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SearchView;

import com.example.administrador.gestaoa.bancoDeDados.ClienteDao;
import com.example.administrador.gestaoa.beans.Cliente;
import com.example.administrador.gestaoa.listaAdapters.ClienteAdapter;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


 public class ListClientes extends AppCompatActivity implements    AdapterView.OnItemLongClickListener, AdapterView.OnItemClickListener {
Cliente cliente;
ListView lista;
EditText inputSearch;
ArrayList<Cliente> clientes;
ArrayAdapter<Cliente> cliAdapter;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list_clientes);



    lista = (ListView) findViewById(R.id.listview);
    inputSearch = (EditText) findViewById(R.id.inputSearch);

    cliAdapter = new ArrayAdapter<Cliente>(this, R.layout.linhacli, R.id.textView1, clientes);
    lista.setAdapter(cliAdapter);

    lista = (ListView) findViewById(R.id.listview);
    inputSearch = (EditText) findViewById(R.id.inputSearch);

    cliAdapter = new ArrayAdapter<Cliente>(this, R.layout.linhacli, R.id.textView1, clientes);
    lista.setAdapter(cliAdapter);


    inputSearch.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
            // When user changed the Text
            ListClientes.this.cliAdapter.getFilter().filter(cs);
        }

        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                                      int arg3) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub
        }
    });



    lista.setOnItemLongClickListener(this);
    lista.setOnItemClickListener(this);

    atualizar(null);

    }   
   .....................................

`

1 Resposta

Diego_Melo

O que vi ali é que você não instanciou sua lista de clientes.

Criado 2 de fevereiro de 2016
Ultima resposta 4 de fev. de 2016
Respostas 1
Participantes 2