Hi,
ich habe folgendes (stark vereinfachtes) Layout:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" >
<FrameLayout android:id="@+id/rootLayout">
<TableLayout android:id="@+id/mapTableLayout">
<TableRow android:id="@+id/mapTableRow" >
<LinearLayout>
...
</LinearLayout>
</TableRow>
</TableLayout>
</FrameLayout>
</ScrollView>
Alles anzeigen
Wenn ich nun eine eigene, von View abgeleitete Klasse als Child der TableRow mapTableRow einhänge, so wird die überschriebene onDraw() Methode niemals aufgerufen. Das passiert auch dann nicht, wenn ich explizit postInvalidate() aufrufe. Lediglich bei Operationen, nach denen das gesamte LAyout überdeckt wird (t.B. weil ich noch was anderes in rootLayout einhänge, was das gesamte Layout überdeckt) kommt onDraw() zum Zuge.
Ändere ich das allerdings und hänge mir diese von View abgeiletete Klasse testweise als Child des FrameLayouts rootLayout ein, dann wird onDraw() ordnungsgemäß aufgerufen und meine Zeichenfunktionen dort drin können problemlos arbeiten. Was ist denn das seltsames? Ist das ein Android-Bug oder mache ich mit dem FrameLayout irgend was falsch?