I need to add lots of views in a loop, while this fragment does that, the app will also have a navigation drawer and action bar where the user can do things.
so I would like this process to not a) slow down the app by blocking the user, b) preferably add the views in a background thread.
The dilemma is that I think android doesn't like views to be added in a non-UI thread, so is there a best practice for this? I plan to have a progress bar view object visible in the fragment's view while the rest of the views are being generated with the addView and associated computations
Instead of adding view on a background thread you can parcel out the work by posting several
Runnables
on the UI thread. The code below is a highly simplified version of that technique but it's similar to how it was done in Android's Launcher app: