GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Problema com ListView

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

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

//