Я новичок в Xamarin, и я пытаюсь создать простое приложение для Android с F #. Я пытаюсь загрузить данные из REST API с помощью async, а затем отобразить его. Я понимаю, что взаимодействие с пользовательским интерфейсом должно выполняться на MainThread и что есть что-то вроде строк Activity.RunOnUiThread()
. Я пробовал следующее:
let onSearch args =
let search = this.FindViewById<EditText>(Resource_Id.search)
let searchResults = this.FindViewById<TextView>(Resource_Id.searchResults)
button.Text <- search.Text
async {
let! results = recipeSearch.GetRecipes search.Text
searchResults.Text <- results
}
|> Async.Start
button.Click.Add onSearch
Что вызывает исключение из-за взаимодействия с элементами пользовательского интерфейса в другом потоке. И это:
let result = async {
let! results = recipeSearch.GetRecipes search.Text
return results
}
|> Async.RunSynchronously
searchResults.Text <- result
Поражает цель сделать это Async
Спасибо