2017-07-20 2 views
0

Ich habe eine SQLite-Datenbank-Datei mit einer Liste von Wörtern. Mein Ziel ist es, die Datensätze anzuzeigen, die zu dem entsprechen, was Benutzer in der textview1 bereitgestellt haben, und listview1 entsprechend aufzufüllen.xamarin.android: SQLiteAsync funktioniert nicht

var conn = new SQLiteAsyncConnection(dbPath); 

textview1.TextChanged += delegate 
      { 
       var Records = conn.Table<Entries>().Where(a => a.Entry.StartsWith(textview1.Text)).Take(10); 

       List<string> lst = new List<string>(); 

       Records.ToListAsync().ContinueWith(t => 
       { 
        foreach (Entries record in t.Result) 
        { 
         lst.Add(record.Entry); 
        } 
        ArrayAdapter<string> myArrayAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, lst); 
        listView1.Adapter = myArrayAdapter; 
       }); 
      }; 

Die nicht asynchronen Methoden funktionieren problemlos, die Async-Version jedoch nicht. Was ist das Problem?

Antwort

0

Sie müssen vor Ihrem Funktionsnamen, in den Sie diesen Code geschrieben haben, ein asynchrones Schlüsselwort hinzufügen. Beispiel-

public async void Register() 
{ 
    //Your Code for calling async method. 
    //Sample code- 
    HttpClient http = new HttpClient(); 
    HttpResponseMessage response = await http.GetAsync(URL); 
}