0

When I'm switching two view(Gris view and List view in same layout). I'm doing animation to switching views to show data in LISTVIEW and GRID VIEW. it showing in gridview properly, if i clicked button to switch LISTVIEW. app is crashing and I got following log info.

Note: Same code is working properly in other version. even it is crashing only on Device not in emulator.

02-25 14:20:00.859: E/AndroidRuntime(3179): FATAL EXCEPTION: main
02-25 14:20:00.859: E/AndroidRuntime(3179): java.lang.StackOverflowError
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.GLES20Canvas.nGetClipBounds(Native Method)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.GLES20Canvas.getClipBounds(GLES20Canvas.java:471)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.text.Layout.draw(Layout.java:203)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.text.BoringLayout.draw(BoringLayout.java:400)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.widget.TextView.onDraw(TextView.java:5038)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.widget.CompoundButton.onDraw(CompoundButton.java:226)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.draw(View.java:10982)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10421)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.draw(View.java:10985)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10421)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.draw(View.java:10985)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10421)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179): at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.draw(View.java:10985)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.widget.FrameLayout.draw(FrameLayout.java:450)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.widget.ScrollView.draw(ScrollView.java:1524)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10421)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.draw(View.java:10985)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10421)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.draw(View.java:10985)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10421)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.View.getDisplayList(View.java:10419)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.drawChild(ViewGroup.java:2850)
02-25 14:20:00.859: E/AndroidRuntime(3179):     at android.view.ViewGroup.dispatchDraw(ViewGroup.j
Lucifer
  • 29,392
  • 25
  • 90
  • 143
  • 4
    can you post your code, please ? – Vovchik Feb 25 '14 at 09:27
  • We need your code to help. – 09stephenb Feb 25 '14 at 09:29
  • Sorry I'm new to StackOverFlow.com. I couldn't paste all my code here. it says, only 30000 charcters. but some of comments i could understand the issue where it is coming. In my logic I've inflating a custom layout view and adding to Linear layout. and then I'm passing that to adapter, which adapter is used in Listview. According day count I'm adding views in list. If it is going more than one year, it ll may add 365 views. but first day I'm facing this problem. [Sorry for my English level] – Praveen Kumar Sugumaran Feb 25 '14 at 10:16
  • Thanks all.. i found and fixed :-) – Praveen Kumar Sugumaran Mar 17 '14 at 07:09

1 Answers1

2

Your activity's layout hierarchy is too deep, meaning you have way too many layouts in the XML of that activity. I suggest reading about how to flatten and optimize your layout.
There are many questions and answers in SO regarding this:

java.lang.StackOverFlow error. Suspected too many views?
Stackoverflow: Caused by nested views?

Community
  • 1
  • 1
Assaf Gamliel
  • 11,935
  • 5
  • 41
  • 56