Cool I'll check out those facilities. Pasting the exact layout below. I can't nail down exactly what's causing this. The first render of the listview works ok. The first attempt to scroll generates the exception (pasted below). I tried using a 9 png drawable direct from the android project, same behavior. If I just get rid of background drawable specified in the top-level linear layout, it works fine. The parent listview has nothing custom in it, just part of a ListActivity:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/catastrophe"> <ImageView android:layout_height="44dip" android:layout_width="44dip" android:gravity="center_vertical" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout> Exception: 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): java.lang.StackOverflowError 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.graphics.Canvas.drawText(Canvas.java:1269) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.text.Layout.draw(Layout.java:337) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.widget.TextView.onDraw(TextView.java:3921) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.draw(View.java:5838) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1486) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1484) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.draw(View.java:5841) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.buildDrawingCache(View.java:5617) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.getDrawingCache(View.java:5458) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1422) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.widget.AbsListView.dispatchDraw(AbsListView.java:1319) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.widget.ListView.dispatchDraw(ListView.java:2820) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.draw(View.java:5841) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.widget.AbsListView.draw(AbsListView.java:2121) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1486) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1484) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.draw(View.java:5841) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.widget.FrameLayout.draw(FrameLayout.java:352) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1486) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1484) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1484) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.draw(View.java:5841) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1486) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.draw(View.java:5841) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.widget.FrameLayout.draw(FrameLayout.java:352) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1486) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.draw(View.java:5841) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.widget.FrameLayout.draw(FrameLayout.java:352) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1486) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1484) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.drawChild(ViewGroup.java:1484) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.View.draw(View.java:5841) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.widget.FrameLayout.draw(FrameLayout.java:352) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at com.android.internal.policy.impl.PhoneWindow $DecorView.draw(PhoneWindow.java:1847) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewRoot.draw(ViewRoot.java:1217) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewRoot.performTraversals(ViewRoot.java:1030) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.view.ViewRoot.handleMessage(ViewRoot.java:1482) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.os.Handler.dispatchMessage(Handler.java:99) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.os.Looper.loop(Looper.java:123) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at android.app.ActivityThread.main(ActivityThread.java:3948) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at java.lang.reflect.Method.invokeNative(Native Method) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at java.lang.reflect.Method.invoke(Method.java:521) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:782) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) 09-14 17:26:03.497: ERROR/AndroidRuntime(2099): at dalvik.system.NativeStart.main(Native Method) On Sep 14, 11:02 am, Kostya Vasilyev <kmans...@gmail.com> wrote: > Alternative resource facility built into Android supports conditions > based on API level (= Android version): > > http://developer.android.com/guide/topics/resources/providing-resourc... > > From this starting point, one can derive different solutions: > > - Switch at layout level, providing entirely separate layouts for 1.5 > and 1.6+ > > - Move just the view that needs to be handled differently into > version-specific layout files with <merge> as top level element, and > pull them into the main layout using <include> > > http://developer.android.com/resources/articles/layout-tricks-merge.html > > - Switch at the drawable level, by creating version-specific aliases for > the background drawable. > > http://developer.android.com/guide/topics/resources/providing-resourc... > > However, I suspect there is something wrong with the nine-patch that is > causing 1.5 to blow up. Perhaps trying some other nine-patch (perhaps > even a button background from sdk resources) would be a good test before > trying the above. > > -- Kostya > > 14.09.2010 21:45, Frank Weiss пишет: > > > > > I suppose you could add OS-specific info to the layout XML files and > > write your own layout inflater. > > > -- > > You received this message because you are subscribed to the Google > > Groups "Android Developers" group. > > To post to this group, send email to android-developers@googlegroups.com > > To unsubscribe from this group, send email to > > android-developers+unsubscr...@googlegroups.com > > For more options, visit this group at > >http://groups.google.com/group/android-developers?hl=en > > -- > Kostya Vasilyev -- WiFi Manager + pretty widget > --http://kmansoft.wordpress.com -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en