我有一个ListView通过数组显示一些数据(它在另一个类中,并且我正在通过它的对象访问它)。
每当我通过上下文菜单从ListView删除元素时,列表都不会刷新,但是会从数组中删除该元素。如何刷新列表以显示此内容?
代码:
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
if (v.getId()==R.id.mainListView) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
post=info.position;
menu.setHeaderTitle(stocks[info.position]);
String[] menuItems = stt;
for (int i = 0; i<menuItems.length; i++) {
menu.add(Menu.NONE, i, i, menuItems[i]);
}
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
int menuItemIndex = item.getItemId();
String[] menuItems = stt;
String menuItemName = menuItems[menuItemIndex];
listItemName = stocks[info.position];
stockname.remove(post-1);
return true;
}
最佳答案
您必须通知您的ListView适配器数据已更改。
listViewAdapater.notifyDataSetChanged();
如果由于某种原因该方法不起作用,并且在某些情况下似乎没有发出通知,则可以通过构造函数使用更新后的数组重新分配适配器。