我正在使用 DragSortListView 制作 ListView,因此我可以移动行以重新排序列表。好吧,我需要修改列表的行为。默认情况下,列表不能重新排序(setDragEnabled = false)并且当用户单击项目菜单时,列表才能重新排序(setDragEnabled = true)。问题是当我将 DragSortListView 设置为 setDragEnabled 为 true 时,只有当前不在屏幕上的项目受到影响。
例如:如果我的列表有 10 个项目,但屏幕只能显示 6 个(因为屏幕的大小),那么其他 4 个项目会受到影响,但不会影响当前屏幕上的 6 个项目。不知道这是 DragSortListView 的“问题”,还是一般的 ListView。
所以我的问题是:如何更新 DragSortListView 中所有项目的数据?
到目前为止,这就是我所拥有的
switch(item.getItemId()) {
case R.id.list_menu_item1:
ArrayList aL = new ArrayList();
aL = (ArrayList) findViewWithTagRecursively(dslv,"_indicator");
for(int i = 0; i < aL.size(); i++){
dslv.setDragEnabled(true);
adapter.notifyDataSetChanged();
ImageView list_image = (ImageView)aL.get(i);
//aL -> ArrayList with the items (views) in the list.
list_image.setImageDrawable(this.getResources().getDrawable
(this.getResources().getIdentifier
("drawable/delete_x",null,this.getPackageName())));
}
break;
default:
break;
}