 <p>I created a class named "MyTileOverlay" by extending TilesOverlay and it contins this class:</p> <p><a href="https://code.google.com/p/osmdroid/source/browse/trunk/osmdroid-android/src/main/java/org/osmdroid/views/overlay/TilesOverlay.java?r=1086" rel="nofollow">https://code.google.com/p/osmdroid/source/browse/trunk/osmdroid-android/src/main/java/org/osmdroid/views/overlay/TilesOverlay.java?r=1086</a></p> <p>Then when setting up the mapview, I do this:</p> <pre><code>this.mTilesOverlay = new MyTileOverlay(mProvider, this.getBaseContext()); </code></pre> <p>As instructed by kurtzmarc, I used handleTile() to check whether all tiles are being loaded or not:</p> <pre><code>@Override public void handleTile(final Canvas pCanvas, final int pTileSizePx, final MapTile pTile, final int pX, final int pY) { Drawable currentMapTile = mTileProvider.getMapTile(pTile); if (currentMapTile == null) { currentMapTile = getLoadingTile(); Log.d("Tile Null", "Null"); } else { Log.d("Tile Not Null", "Not Null"); } if (currentMapTile != null) { mTileRect.set(pX * pTileSizePx, pY * pTileSizePx, pX * pTileSizePx + pTileSizePx, pY * pTileSizePx + pTileSizePx); onTileReadyToDraw(pCanvas, currentMapTile, mTileRect); } if (DEBUGMODE) { mTileRect.set(pX * pTileSizePx, pY * pTileSizePx, pX * pTileSizePx + pTileSizePx, pY * pTileSizePx + pTileSizePx); mTileRect.offset(-mWorldSize_2, -mWorldSize_2); pCanvas.drawText(pTile.toString(), mTileRect.left + 1, mTileRect.top + mDebugPaint.getTextSize(), mDebugPaint); pCanvas.drawLine(mTileRect.left, mTileRect.top, mTileRect.right, mTileRect.top, mDebugPaint); pCanvas.drawLine(mTileRect.left, mTileRect.top, mTileRect.left, mTileRect.bottom, mDebugPaint); } } </code></pre> <p>This method ensures whether the loading procedure is finalized or not:</p> <pre><code>@Override public void finaliseLoop() { Log.d("Loop Finalized", "Finalized"); } </code></pre> <p>I can also use this method to identify whether all tiles have been loaded or not:</p> <pre><code>public int getLoadingBackgroundColor() { return mLoadingBackgroundColor; } </code></pre> <p>Hope this help someone!</p>