I have a code written as follow in an ArrayAdapter for ListView.
Basically this is GridView or gallery for images
if (url != null) /* Image is already placed */
{
// DO SOME STUFF
}
else
{
holder.pinImg.setImageDrawable(null);
if (ping.isMediaBeingDownloaded == false)
{
new Thread(new Runnable()
{
@Override
public void run()
{
ping.isMediaBeingDownloaded = true;
ApiManager.getInstance().pingManager.downloadMediaOfPingFromServer(ping);
mContext.runOnUiThread(new Runnable()
{
@Override
public void run()
{
ping.isMediaBeingDownloaded = false;
ping.thumbnail = ImageUtils.setBitmapFromFile(url, mContext);
notifyDataSetChanged();
}
});
}
}).start();
}
}
Now technically i should use Threadpool executer , but i am not sure how can i update data once an image is downloaded since notifyDataSetChanged can only be called on UIThread.
How can i make a threadpool for such a thread.
Aucun commentaire:
Enregistrer un commentaire