【发布时间】:2013-08-17 01:07:08
【问题描述】:
我正在使用 monodroid 并尝试使用 NotifyDataSetChange。但是当我在我的 listadapter 上调用它时,它不会刷新视图。
我的代码;
CustomListAdapter listAdapter;
ListView listView;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.customlist);
listAdapter = new CustomListAdapter(this);
listView = FindViewById<ListView>(Resource.Id.listView);
//Hook up our adapter to our ListView
listView.Adapter = listAdapter;
listView.ItemLongClick += listView_ItemLongClick;
}
void listView_ItemLongClick(object sender, AdapterView.ItemLongClickEventArgs e)
{
var item = this.listAdapter.GetItemAtPosition(e.Position);
deletevehicle(item);
}
private void deletevehicle(Vehicle v)
{
if (v != null)
{
VehicleDB.DeleteVehicle(v.ID);
listAdapter.NotifyDataSetChanged();
}
}
该列表由我的数据库中的车辆填充,以防万一您想知道,所以我希望它是这样,以便删除车辆,然后刷新列表。
谢谢
【问题讨论】:
-
你不是从
Adapter中删除它吗? -
我所做的只是代码中显示的内容,还有什么我应该做的吗?
-
嗯,我没有看到它从
Adapter持有的项目源中删除。Adapter是否以某种方式监听数据库?如果是这样,它如何通知从中删除的内容? -
不,我有一个车辆列表,我用该列表填充 listadpater。当调用删除车辆时,该车辆被删除,因此从列表中删除。我现在需要用新的更新列表刷新列表视图
-
我在你的代码中没有看到...
标签: c# android list xamarin.android