我使用ondragListener
進行視圖拖動。我的根目錄是viewgroup
,其中更多viewgroup
容器進入根目錄,並在容器內部添加了像imageview/textview
這樣的視圖。stackoverflow錯誤查看拖放更新
如果我使用像linearlayout
用於拖動的唯一容器(ViewGroup
),並放棄其工作正常,但如果我開始添加視圖喜歡imageview
這些容器內,還拖着點容器只能持這種觀點。
onActionDrop
得到stackoverflow error : stack size 8MB
。
onActionDrop
代碼:
if (e.getAction()==DragEvent.ACTION_DROP) {
final View view = (View) e.getLocalState();
final ViewGroup from = (ViewGroup) view.getParent();
from.removeView(view);
final LinearLayout toView = (LinearLayout) v;
toView.addView(view);}
錯誤日誌:
java.lang.StackOverflowError: stack size 8MB
android.view.ViewGroup.resetResolvedLayoutDirection(ViewGroup.java:6546)
android.os.TransactionTooLargeException: data parcel size 26840220 bytes
android.os.BinderProxy.transactNative(Native Method)
android.os.BinderProxy.transact(Binder.java:503)
android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:4425)
com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:90)
java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
這是一個完整的堆棧跟蹤? –
你的代碼看起來不錯,但問題可能在於你從一個容器移動到另一個容器的視覺組件的數量,你可能需要銷燬並重新創建拖動的視圖或類似的東西。請參閱此其他問題http://stackoverflow.com/questions/11451393/what-to-do-on-transactiontoolargeexception – eduyayo
@TinTran是的,就是這樣。 –