Your view hierarchy is too deep. When the hierarchy is drawn recursively, you run out of stack space and cannot go any deeper in the hierarchy, as observed in the stack trace.
Why this only occurs in earlier devices is because UI thread stack size is only 12kB in Android 2.3 devices but 16kB in later OS versions (ref).
How to reduce view hierarchy depth? Simply avoid nesting layouts whenever possible. The layouts you posted are too complex, no point fixing them for you within this Stack Overflow model (it takes some time to do correctly and it is likely too specific to help others), but here are some general guidelines:
Remove unnecessary layouts. For example, in your firsttab_results.xml you only need the
TableLayout
, theRelativeLayout
andLinearLayout
on top are pretty much useless. In yourScrollView
there are at least 6 nested layouts when one or at most two would likely be enough.A single child in a layout is a code smell. Most of the time the same can be achieved moving the child to its parent layout and adjusting the layout with margins.
There's usually little need to put layouts inside a
RelativeLayout
. Relative layout is powerful at laying out its children using relative positioning and child baseline alignment.If you need a nested layout just for a
background
, try moving the background to e.g. just aView
that is of the same size as the nested layout would be and laying out the other elements on top of it.Pay attention to Android Lint warnings. The tool has become quite good at detecting view hierarchy complexities that could be simplified.