Android java.lang.StackOverflowError at android.view.ViewGroup.drawChild(ViewGroup.java:2666),stackoverflowerror
做這樣一個頁面,下面有五個頁簽,滑動,有資料顯示listview,無資料顯示動畫,開始我看到他們好多東西是相同的,就提取出來,用include包含布局檔案:
結果報一下錯誤:
01-28 11:27:36.593: E/AndroidRuntime(16182): FATAL EXCEPTION: main
01-28 11:27:36.593: E/AndroidRuntime(16182): java.lang.StackOverflowError
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2666)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.draw(View.java:11100)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10536)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.draw(View.java:11100)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10536)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.draw(View.java:11100)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.widget.FrameLayout.draw(FrameLayout.java:450)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.widget.ScrollView.draw(ScrollView.java:1939)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10536)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.draw(View.java:11100)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10536)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.draw(View.java:11100)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.support.v4.view.ViewPager.draw(ViewPager.java:2171)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10536)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.draw(View.java:11100)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10536)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.draw(View.java:11100)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10536)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2503)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.View.getDisplayList(View.java:10534)
01-28 11:27:36.593: E/AndroidRuntime(16182): at android.view.ViewGroup.drawChild(ViewGroup.java:2864)
開始一直沒找到原因,因為沒有明確說哪裡報錯。那個類,那個控制項之類的。後來發現是嵌套的層次太深了。一個xml裡麵包含include,裡面的xml還包含include,後台勉為其難,都放到一個xml檔案,就ok了!