Я изучаю Xamarin, я хотел бы подождать, пока пользователь не закончит sh, чтобы нажать на панель поиска и что-то сделать. Я хочу использовать TextChange, чтобы сделать его динамичным c
Вот мой код поиска Xaml:
<!--THe search bar-->
<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" >
<SearchBar x:Name="VariableSearchWords" TextChanged="SearcNews"> </SearchBar>
</StackLayout>
<!--END THe search bar-->
Вот функция:
public async void GetNewsData(string title, string Mylanguage)
{
newsObj= new List<NewsModel>();
var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
var newsResults = client.News.SearchAsync(query: searchTerm, market: Mylanguage, count: 14, originalImage: true).Result;
if (newsResults.Value.Count > 0)
{
for (int i = 0; i < newsResults.Value.Count; i++)
{
var news = new NewsModel();
news.NewsUrl = newsResults.Value[i].Url;
news.NewsImageUrl = await DownloadImagesAsync(newsResults.Value[i].Image.ContentUrl);
newsObj.Add(news);
}
}
NewsList.ItemsSource = newsObj;
// return newsObj;
}
}
// поиск слов
private async void SearcNews(object sender, TextChangedEventArgs e)
{
// StaRT what you want to do after 200 millisecond delay
NewsList.ItemsSource = null;
if (task == null)// very
{
task = Task.Run(async () =>
{
await Task.Delay(timeDelay);
//get data
GetNewsData(" ", myuser.NewsLanguage); //getData
// END what you want to do after 200 millisecond delay
task = null;
});
}
}
Спасибо за помощь