4

I can't popule a ListView with database items.

Function in sqlite for get 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 try populate 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!

Dita Aji Pratama
  • 710
  • 1
  • 12
  • 28
  • 2
    Are you receiving an error? What is the result of the code above? – kc7zax Jun 07 '13 at 15:34
  • It's stop and return this error: System.NullReferenceException: Object reference not set to an instance of an object 06-10 16:30:52.053 E/mono ( 350): 06-10 16:30:52.053 E/mono ( 350): Unhandled Exception: 06-10 16:30:52.053 E/mono ( 350): System.NullReferenceException: Object reference not set to an instance of an object – user2237533 Jun 10 '13 at 16:33
  • 06-10 16:30:52.053 E/mono ( 350): at Demeter.DataBaseHandler.getFornecedores () [0x0000f] in C:\Users\FelipeLuiz\documents\visual studio 2010\Projects\Demeter\Demeter\DataBaseHandler.cs:206 06-10 16:30:52.053 E/mono ( 350): at Demeter.CadastroFornecedor.loadListView () [0x00007] in C:\Users\FelipeLuiz\documents\visual studio 2010\Projects\Demeter\Demeter\CadastroFornecedor.cs:58 – user2237533 Jun 10 '13 at 16:34
  • 06-10 16:30:52.053 E/mono ( 350): at Demeter.CadastroFornecedor.OnCreate (Android.OS.Bundle bundle) [0x000d8] in C:\Users\FelipeLuiz\documents\visual studio 2010\Projects\Demeter\Demeter\CadastroFornecedor.cs:36 06-10 16:30:52.053 E/mono ( 350): at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (IntPtr jnienv, IntPtr native__this, IntPtr native_savedInstanceState) [0x00010] in /Users/builder/data/lanes/monodroid-lion-bs1/95789e18/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.App.Activity.cs:1490 – user2237533 Jun 10 '13 at 16:35
  • 06-10 16:30:52.053 E/mono ( 350): at (wrapper dynamic-method) object:553bc2f3-2687-4f19-8429-2e9614a41c6a (intptr,intptr,intptr) 06-10 16:30:52.053 I/mono ( 350): [ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object – user2237533 Jun 10 '13 at 16:35
  • 06-10 16:30:52.053 I/mono ( 350): at Demeter.DataBaseHandler.getFornecedores () [0x0000f] in C:\Users\FelipeLuiz\documents\visual studio 2010\Projects\Demeter\Demeter\DataBaseHandler.cs:206 06-10 16:30:52.053 I/mono ( 350): at Demeter.CadastroFornecedor.loadListView () [0x00007] in C:\Users\FelipeLuiz\documents\visual studio 2010\Projects\Demeter\Demeter\CadastroFornecedor.cs:58 – user2237533 Jun 10 '13 at 16:36
  • 06-10 16:30:52.053 I/mono ( 350): at Demeter.CadastroFornecedor.OnCreate (Android.OS.Bundle bundle) [0x000d8] in C:\Users\FelipeLuiz\documents\visual studio 2010\Projects\Demeter\Demeter\CadastroFornecedor.cs:36 06-10 16:30:52.053 I/mono ( 350): at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (IntPtr jnienv, IntPtr native__this, IntPtr native_savedInstanceState) [0x00010] in /Users/builder/data/lanes/monodroid-lion-bs1/95789e18/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.App.Activity.cs:1490 – user2237533 Jun 10 '13 at 16:36
  • 06-10 16:30:52.053 I/mono ( 350): at (wrapper dynamic-method) object:553bc2f3-2687-4f19-8429-2e9614a41c6a (intptr,intptr,intptr) The program 'Mono' has exited with code 255 (0xff). – user2237533 Jun 10 '13 at 16:39
  • is the loadListView() method in a ListActivity? Can you post a little bit more of your code perhaps? – theMothaShip Jun 11 '13 at 01:00
  • The visual studio says that this error is here: temp = sqlTemp.RawQuery("SELECT * FROM Fornecedor", null); The listView I belive have repaired. Thanks! – user2237533 Jun 11 '13 at 16:42

1 Answers1

0
        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;
yash darak
  • 368
  • 4
  • 17