Problema com ListView

1 resposta
K

Bom dia povo, então, estou fazendo um app que deveria carregar uma lista de cães cadastrados, no entanto, apesar de estar inserindo no SQLite não aparece na lista quando é para carregar os nomes

Segue as classes
Essa parte deveria mostrar a lista

BancoController bancoController = new BancoController(getActivity().getApplicationContext());

listaCaesDados = new ArrayList<>();

listaCaesDados = bancoController.carregaNomes();

Toast.makeText(getActivity().getApplicationContext(),String.valueOf(listaCaesDados.size()),Toast.LENGTH_LONG).show();

if (listaCaesDados.size() > 0 ) {

listaCaes = (ListView) view.findViewById(R.id.ListaCaes);

ArrayAdapter adapter = new ArrayAdapter(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1,listaCaesDados);

listaCaes.setAdapter(adapter);

}

Aqui o método responsavel por carregar nomes no banco de dados

public List<String> carregaNomes() {
    List<String> listaNomes = new ArrayList<>();
    Cursor cursor;
    String[] campoNomeCao = {banco.NOME_CAO};
    db = banco.getReadableDatabase();
    cursor = db.query(banco.TABELA, campoNomeCao,null,null,null,null,null, null);
    if(cursor.moveToFirst()){
        while ((cursor.moveToNext())){
            String nomeCao = new String();
            nomeCao = cursor.getString(0);
            listaNomes.add(nomeCao);
        }
    }
    return listaNomes;
}

1 Resposta

F

Boa noite. Vou fazer o seguinte:
Vou postar um código funcional, para que vc mesmo consiga identificar o erro e corrigir, ta bem fácil. pode ser ? Vamos lá :

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.Adapter;

import android.widget.ArrayAdapter;

import android.widget.ListView;

public class MainActivity extends AppCompatActivity {

String[] dados = new String[] { "Fiat", "VolksWagen", "Ford", "Chevrollet", "Kia",
        "Honda", "Toyota", "BMW",
        "Audi", "Ferrari", "Lamborghini", "Tiggo" };
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listView = findViewById(R.id.listview);
    // criando o adapter
    ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, dados);
    //setando o adapter para a listview
    listView.setAdapter(adapter);
}

}

ta ai a activity inteira… depois me conta se ajudou !!!

Criado 14 de outubro de 2019
Ultima resposta 3 de nov. de 2019
Respostas 1
Participantes 2