Hi all, I have a ListView populated using a SimpleCursorAdapter that
has a ViewBinder, and I'm finding that when the ListView is displayed,
ViewBinder#setViewValue is called 3 times for each row of the cursor.

Once during onMeasure:
        at au.com.xandar.contactsmanager.DisplayContactsActivity
$1.setViewValue(DisplayContactsActivity.java:56)
        ...
        at android.view.View.measure(View.java:8171)
        at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
        at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:123)
        at android.app.ActivityThread.main(ActivityThread.java:4627)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:521)
        at com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:868)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:
626)
        at dalvik.system.NativeStart.main(Native Method)

Once during onLayout:
        at au.com.xandar.contactsmanager.DisplayContactsActivity
$1.setViewValue(DisplayContactsActivity.java:56)
        ...
        at android.view.View.layout(View.java:7035)
        at android.view.ViewRoot.performTraversals(ViewRoot.java:1045)
        at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:123)
        at android.app.ActivityThread.main(ActivityThread.java:4627)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:521)
        at com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:868)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:
626)
        at dalvik.system.NativeStart.main(Native Method)

And the third time from onMeasure again.

Firstly, is this expected behaviour?

If it is, then what's the best way of performing potentially expensive
work in ViewBinder#setViewValue?
For example, retrieving the results of another cursor whcih is used to
construct the bound view.

Or am I approaching this from entirely the wrong view point?

William

-- 
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

Reply via email to