How to popule ListView with database items in Xamarin?

I cannot populate a ListView with database items.

Function in sqlite to get the table:

public Android.Database.ICursor getFornecedores() { Android.Database.ICursor temp = null; try { sqlQuery = "SELECT * FROM Fornecedor;"; temp = sqlTemp.RawQuery(sqlQuery, null); if (!(temp != null)) Console.WriteLine("Deu pau"); } catch(SQLiteException e) { Console.WriteLine("Erro = " + e.Message); } return temp; } 

Function I am trying to populate a listView:

 public void loadListView() { Android.Database.ICursor fornecedores; DataBaseHandler db = new DataBaseHandler(); fornecedores = db.getFornecedores(); SimpleCursorAdapter adapter; cadastroListView.Adapter = new SimpleCursorAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line, fornecedores, new string[] { "nome" }, new int[] { Android.Resource.Id.Text1 }); } 

Help me please! Thanks!

+4
source share
1 answer
  List<string> mItems = new List<string>(); var listview = FindViewById<ListView>(Resource.Id.listview); //fetching data from database. I am using sqlite.cs to fetch data from database. //You can use your technique which you are using. using (var conn = new SQLite.SQLiteConnection(dbPath)) { try { var cmd = new SQLite.SQLiteCommand(conn); cmd.CommandText = "select * from history"; int i = 0; var r = cmd.ExecuteQuery<hist>(); foreach (var item in r) { mItems.Add(item.word); } } catch (Exception e) { } } ArrayAdapter<string> adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, mItems); listview.Adapter = adapter; 
0
source

Source: https://habr.com/ru/post/1485045/


All Articles