大佬教程收集整理的这篇文章主要介绍了android – Drag’n’Drop ConcurentModificationException,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@Override public Boolean onDrag(View v,DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DRAG_ENTERED: switch (v.getId()) { case R.id.delete_zone: { addToShowCaseZone.setImageDrawable(getresources().getDrawable(R.drawable.showcase_2)); inAddToShowcasesZone = true; break; } case MagazineGridAdapter.ID: { enteredView = v; break; } } return false; case DragEvent.ACTION_DRAG_EXITED: { switch (v.getId()) { case R.id.delete_zone: { addToShowCaseZone.setImageDrawable(getresources().getDrawable(R.drawable.showcase_1)); inAddToShowcasesZone = false; break; } case MagazineGridAdapter.ID: { enteredView = null; break; } } return true; } case DragEvent.ACTION_DRAG_STARTED: return true; case DragEvent.ACTION_DRAG_LOCATION: return false; case DragEvent.ACTION_DROP: { if (inAddToShowcasesZonE) { final int position = gridView.getPositionForView(dragView); Magazine magazine = magazineAdapter.getItem(position); try { new Magazine(magazine.getUrl().toString(),magazine.getImage(),magazine.getBACkgroundNum(),magazine.getName()); } catch (MalformedURLException E) { e.printStackTrace(); } addToShowCaseZone.setImageDrawable(getresources().getDrawable(R.drawable.showcase_1)); inAddToShowcasesZone = false; magazineAdapter.deleteFromList(position); return false; } else if(enteredView != null && !enteredView.equals(dragView)){ resourcesForNativeMagazines.swapItems(gridView.getPositionForView(dragView),gridView.getPositionForView(enteredView),tabnumber - 1); magazineAdapter.refreshValues(resourcesForNativeMagazines.getMagazines(tabnumber - 1)); enteredView = null; return false; } dragView.setVisibility(VISIBLE); return false; } default: dragView.setVisibility(VISIBLE); return true; } }@H_419_12@适配器部件:
public void refreshValues(List<Magazine> magazines){ this.magazines = new ArrayList<>(magazines); notifyDataSetChanged(); } public void deleteFromList(int position){ magazines.remove(position); notifyDataSetChanged(); }@H_419_12@有时这个代码在我删除项目时调用方法refreshValuews和deleteFromList中的错误,这是它的堆栈跟踪:
java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:806) at java.util.HashMap$KeyIterator.next(HashMap.java:833) at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1172) at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1174) at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1174) at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1174) at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1174) at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1174) at android.view.ViewGroup.dispatchDragEvent(ViewGroup.java:1174) at android.view.ViewRootImpl.handleDragEvent(ViewRootImpl.java:4911) at android.view.ViewRootImpl.access$700(ViewRootImpl.java:94) at android.view.ViewRootImpl$ViewRootHandler.handlemessage(ViewRootImpl.java:3188) at android.os.Handler.dispatchmessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5103) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method)@H_419_12@
以上是大佬教程为你收集整理的android – Drag’n’Drop ConcurentModificationException全部内容,希望文章能够帮你解决android – Drag’n’Drop ConcurentModificationException所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。