ビューのドラッグにondragListener
を使用しています。私のルートはviewgroup
で、ルートにはviewgroup
のコンテナがあり、imageview/textview
のようなビューをコンテナに追加しています。ビュー上のスタックオーバーフローのエラードラッグドロップの更新
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はいこれはそれです。 –