You should not rely on the condition of "finish loading data", instead, you should set the image view visibility on the fly.
You should do something like this in your getView method of your list view adapter.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ItemView item;
if (convertView == null) {
item = mLayoutInflator.inflate(R.layout.listlayout)
} else {
item = (ItemView) convertView;
}
ImageView image = (ImageView)item.findViewById(R.id.yourimageidinitemview);
if(mTodoTask[posistion].isChecked) {
image.setVisibility(View.Visible);
} else {
image.setVisibility(View.Invisible);
}
return item;
}