MonoTouch.Dialogで検索を有効にしました。キーを押すたびにデータベースを呼び出し、更新されたリストを取得してから、ルートを再作成します。ルートを再生成した後は、毎回要素を追加していることを確認できますが、テーブルビューは常に空です。
ユーザーが検索バーに入力するたびにリスト全体を再作成する必要がある状況では、毎回ルートを再作成する必要がありますか、それともクリアして再入力する必要がありますか?
私は両方の方法を試しましたが、テーブルビューを再生成しようとすると、テーブルビューは何もレンダリングしません。
this.SearchTextChanged += (sender, args) => {
query = args.Text;
CreateRoot();
};
void CreateRoot()
{
if(this.Root!=null)
this.Root.Clear();
Section section = new Section();
List<TermItem> terms = LegalDatabase.GetTerms(query, SearchScope);
foreach (TermItem term in terms)
{
var eTerm = new TermElement(term.ID);
section.Add(eTerm);
}
terms = null;
this.Root.Add(section);
}