Problema com ListView

1 resposta
kmunga

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

Flavio_Maidl1

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