Launcher3客制化之,改动单屏幕后,Fix在Hotseat拖动应用删除报错
Posted zhchoutai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Launcher3客制化之,改动单屏幕后,Fix在Hotseat拖动应用删除报错相关的知识,希望对你有一定的参考价值。
改动单屏幕后,在workspace里面拖动图标。到删除button上松开的时候,报错问题。
而且无法再次显示拖动的图标。
拖动松开手时候触发
public void onDropCompleted(final View target, final DragObject d, final boolean isFlingToDelete, final boolean success) { if (mDeferDropAfterUninstall) {//假设要卸载软件又一次调用一次 mDeferredAction = new Runnable() { public void run() { onDropCompleted(target, d, isFlingToDelete, success); mDeferredAction = null; } }; return; } boolean beingCalledAfterUninstall = mDeferredAction != null; if (success && !(beingCalledAfterUninstall && !mUninstallSuccessful)) { if (target != this && mDragInfo != null) { CellLayout parentCell = getParentCellLayoutForView(mDragInfo.cell); if (parentCell != null) { parentCell.removeView(mDragInfo.cell); } if (mDragInfo.cell instanceof DropTarget) { mDragController.removeDropTarget((DropTarget) mDragInfo.cell); } // If we move the item to anything not on the Workspace, check if any empty // screens need to be removed. If we dropped back on the workspace, this will // be done post drop animation. stripEmptyScreens(); } } else if (mDragInfo != null && target != null && (!(target instanceof InfoDropTarget))) { CellLayout cellLayout; if (mLauncher.isHotseatLayout(target)) { cellLayout = mLauncher.getHotseat().getLayout(); } else { cellLayout = getScreenWithId(mDragInfo.screenId); } // if (cellLayout == null) { // throw new RuntimeException("Invalid state: cellLayout == null in " // + "Workspace#onDropCompleted. Please file a bug. "); // } 在此处增加这两句就可以修复此BUG if (cellLayout != null) { cellLayout.onDropChild(mDragInfo.cell); } if( mDragInfo.cell!=null){ <span style="white-space:pre"> </span> mDragInfo.cell.setVisibility(VISIBLE); } } if ((d.cancelled || target instanceof InfoDropTarget || (beingCalledAfterUninstall && !mUninstallSuccessful)) && mDragInfo.cell != null) { mDragInfo.cell.setVisibility(VISIBLE); } mDragOutline = null; mDragInfo = null; }
以上是关于Launcher3客制化之,改动单屏幕后,Fix在Hotseat拖动应用删除报错的主要内容,如果未能解决你的问题,请参考以下文章
SharePoint Online 客制化开发:如何更新Stylesheet?