Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Wie kann ich dieses leichte Problem effizient lösen?

Das Thema "Wie kann ich dieses leichte Problem effizient lösen?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 23.11.2011, 08:38   #1 (permalink)
Junior Mitglied

Registriert seit: 07.02.2011
Beiträge: 31
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
Standard Wie kann ich dieses leichte Problem effizient lösen?

Hallo,
Ich habe einen OnTouchListener implementiert.
Ich habe 2 Variablen erstellt. int x & int y.
Diese Variablen enthalten die Werte der Position wo ich auf den Bildschirm gedrückt habe.

Jetzt mein Problem. Ich unterteile den Bildschirm in 4 Bereiche?
Wie kann ich jetzt am besten abfragen in welchem Bereich ich bin?
Ich will einen richtigen Code. Also effizient, ohne tausend if-abfragen.
Zumindest ein Ansatz für mich wäre super..
Ich will den Code dann auch herzeigen, also sollte es gut programmiert sein.

Wie würdet ihr das machen?
Die Bereiche sind vertikal angeordet.
Also über die ganze Bildschirmbreite, und die Höhe in Viertel.

Lg
lucaaAUT ist offline   Mit Zitat antworten
Alt 23.11.2011, 08:55   #2 (permalink)
Fortgeschrittenes Mitglied

Registriert seit: 14.08.2009
Beiträge: 354
Abgegebene Danke: 23
Erhielt 49 Danke für 43 Beiträge
Standard AW: Wie kann ich dieses leichte Problem effizient lösen?

Verstehe dein Problem nicht so ganz. Du kannst doch einfach bei jeder View den click handler auf den gleichen setzen wenn du das unbedingt willst und der sender ist die view die geklickt wurde somit weißt du doch ohne irgendwelche kordinaten zu checken wo du dich befindest

Gruß
MichaelS
__________________
http://android.fungamer.net/
MichaelS ist offline   Mit Zitat antworten
Alt 23.11.2011, 08:57   #3 (permalink)
Junior Mitglied

Registriert seit: 07.02.2011
Beiträge: 31
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
Standard AW: Wie kann ich dieses leichte Problem effizient lösen?

Ich würde gerne wissen wie ich das Bestimmen des Bereiches am besten mache.
lucaaAUT ist offline   Mit Zitat antworten
Alt 23.11.2011, 09:32   #4 (permalink)
Fortgeschrittenes Mitglied

Registriert seit: 14.08.2009
Beiträge: 354
Abgegebene Danke: 23
Erhielt 49 Danke für 43 Beiträge
Standard AW: Wie kann ich dieses leichte Problem effizient lösen?

wie gesagt du brauchst es nicht selber zu bestimmen... verstehe nicht, warum du es dir so kompliziert machen willst =/
__________________
http://android.fungamer.net/
MichaelS ist offline   Mit Zitat antworten
Alt 24.11.2011, 09:27   #5 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Wie kann ich dieses leichte Problem effizient lösen?

MichaelS hat die einfachste Lösung bereits präsentiert: Nimm für jeden der Bereiche einen View und hänge an jeden den passenden onTouchListener dran. Dein Code enthält dan garkeine Vergleiche mehr.

Wenn das aus irgendwelchen Gründen nicht geht: Schreibe für jede Art Bereich eine Klasse mit einer Methode contains(int x, int y) und einer names handle(),
und erzeuge für deine Bereiche Objekte dieser Klasse(n).
Dann kannst du in dem OnTochListener recht einfach vorgehen:

Code:
for( Shape s: regionen ) {
  if( s.contains(x,y) ) { s.handle(); break; }
}
Dann mag dein Code in der Summe vielleicht recht viele int-Vergleiche enthalten (pro Rechteck wären es zum Beispiel 4).
Aber ein int-Vergleich ist nicht teuer und da du offensichtlich noch relativ am Anfang stehst ist es für solche Art Optiminierungen noch definitiv zu früh.

Siehe auch: Premature Optimization
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.

Geändert von DieGoldeneMitte (24.11.2011 um 09:58 Uhr) Grund: Objekte/Klasse klarer gestellt
DieGoldeneMitte ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Kann ich dieses Theme auf LeoMar ROM portieren? sesselpupser Themes für Samsung Galaxy S2 1 28.10.2011 17:30
Kann ich dieses SGS2 überhaupt rooten/ändern/updaten? shake2k Root / Hacking / Modding für Samsung Galaxy S2 9 05.10.2011 04:43
Kann ich dieses Lagegerät nutzen? Schattenshadow Zubehör für Samsung Galaxy S 4 15.09.2011 19:28
Update-Problem - wie kann ich Root/Modifikation etc. feststellen? Er-Action HTC Desire HD Forum 25 15.09.2011 13:41




Du liest gerade: "Wie kann ich dieses leichte Problem effizient lösen?" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.