DragSortListView를 사용하여 ListView를 만들고 있으므로 목록을 재정렬하도록 행을 이동할 수 있습니다. 글쎄, 목록의 동작을 수정해야합니다. 기본적으로 목록을 재정렬 할 수 없습니다 (setDragEnabled = false). 사용자가 항목 메뉴를 클릭하면 목록 만 재정렬됩니다 (setDragEnabled = true). 문제는 해당 DragSortListView를 setDragEnabled로 설정하면 현재 이 아닌 항목 만이 화면에 표시됩니다.DragSortListView의 항목 새로 고침
예 : 내 목록에 10 개의 항목이 있지만 화면 크기가 6이므로 화면에 표시 할 수있는 항목이 4 개 밖에 없지만 다른 4 개의 항목은 영향을 받지만 현재 화면에 표시된 6 개 항목은 영향을받지 않습니다. DragSortListView의 "문제"인지 또는 일반적으로 ListView인지는 알 수 없습니다.
내 질문은 : 어떻게 DragSortListView 내부의 모든 항목에서 데이터를 업데이트 할 수 있습니까? 으로
지금이 바로dslv.setDragEnabled(true);
adapter.notifyDataSetChanged();
전화하여 어댑터의 getView()
드래그은 사용 여부에 따라 그리기 가능 설정에, 내가 대신 루프의
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;
}