GLSurfaceView - Woher kommt der onTouchEvent()-Aufruf?

  • Antworten:4
Don Pipo
  • Forum-Beiträge: 12

03.02.2011, 12:42:36 via Website

Hi Leute!

Ich bin noch recht frisch in der Java und Android-Entwicklung und gerade auf ein kleines Problem gestoßen, welches ich nur durch Google nicht lösen konnte. Ich arbeite gerade dieses Tutorial durch http://www.droidnova.com/android-3d-game-tutorial-part-i,312.html/comment-page-2#comments in dem eine Klasse von GLSurfaceView erbt. Anschließend erhält diese Klasse die Funktion "onTouchEvent();", welche immer dann aufgerufen wird, wenn der Benutzer den TouchScreen berührt.

Meine Frage: Welche Klasse ruft die Funktion "onTouchEvent();" auf?
Ich nehme an, dass das System "onTouchEvent();" aufruft, sowie es bspw. "onSurfaceChanged();" in "GLSurfaceView.Renderer" aufruft, wenn man vom Landcape zum Portrait-Modus wechselt. Aber warum wird "onTouchEvent();" dann nicht wie "onSurfaceChanged();" mit "@Override" überschrieben? Woher weiß das System das "onTouchEvent();" in meiner abgeleiteten Klasse aufgerufen werden soll, wenn es anscheinend nicht in der Base-Klasse ist?

Vielen Dank für eure Hilfe!
Pipo

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

03.02.2011, 12:47:16 via Website

Das liegt daran das GLSurfaceView.Renderer ein Interface und keine Klasse ist, ab Java 6 ist es ebenfalls erlaubt Methoden aus Interfaces mittels @override zu Markieren.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Don Pipo
  • Forum-Beiträge: 12

03.02.2011, 13:58:10 via Website

Ah, hat zwar nicht meine Frage beantwortet, aber mich auf die richtige Fährte gleitet: "@Override" ist optional in Java und nicht wie in anderen Sprachen Pflicht beim Überschreiben. Daher die Verwunderung...
Danke!

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

03.02.2011, 14:21:20 via Website

Optional ja, schön wäre es es Pflicht wäre. Eclipse z.b kann das aber mittels "Code Cleanup" einstellungen selbst dazu setzten wenn du das möchtest ;)

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Don Pipo
  • Forum-Beiträge: 12

03.02.2011, 14:33:10 via Website

Vielen Dank für den Tipp :)

Antworten