【发布时间】:2014-02-27 08:00:15
【问题描述】:
在 Xamarin 中,我有一个 EditText 和一个带有自定义适配器的 ListView。
这是我的代码:
inputSearch = FindViewById<EditText>(Resource.Id.inputSearch);
listView = FindViewById<ListView>(Resource.Id.List);
listView.Adapter = new MapLocationDetailsActivityAdapter(this, tableItems);
这是我的适配器代码:
public class MapLocationDetailsActivityAdapter : BaseAdapter<MapLocationDetailsActivityListViewTableItem> {
List<MapLocationDetailsActivityListViewTableItem> items;
Activity context;
public MapLocationDetailsActivityAdapter(Activity context, List<MapLocationDetailsActivityListViewTableItem> items)
: base()
{
this.context = context;
this.items = items;
}
public override long GetItemId(int position)
{
return position;
}
public override MapLocationDetailsActivityListViewTableItem this[int position]
{
get { return items[position]; }
}
public override int Count
{
get { return items.Count; }
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
var item = items[position];
View view = convertView;
if (view == null) // no view to re-use, create new
view = context.LayoutInflater.Inflate(Resource.Layout.CustomView, null);
view.FindViewById<TextView>(Resource.Id.TextViewMapHeading).Text = item.Heading;
view.FindViewById<TextView> (Resource.Id.TextViewMapHeading).TextSize = 20;
view.FindViewById<TextView>(Resource.Id.TextViewItem).Text = item.SubHeading;
view.FindViewById<ImageView>(Resource.Id.Image).SetImageResource(item.ImageResourceId);
return view;
}
}
这是我的 ListView 项目代码:
public class MapLocationDetailsActivityListViewTableItem
{
public string Heading { get; set; }
public string SubHeading { get; set; }
public int ImageResourceId { get; set; }
}
当我在 EditText 中输入文本时,如何过滤 ListView 结果?
我想过滤item.Heading值?
提前致谢
【问题讨论】:
标签: android android-listview filter android-edittext xamarin