我有一个 ListView,它通过数组向我显示一些数据(该数组位于另一个类中,我通过它的对象访问它)。
每当我通过上下文菜单从 ListView 中删除元素时,列表不会刷新,但该元素会从数组中删除。我怎样才能刷新列表来显示这一点?
Code:
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();
如果由于某种原因不起作用,并且在一些奇怪的情况下似乎没有通知,您可以通过构造函数使用更新的数组分配适配器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)