Die App soll übber die zurücktaste vom handy NICHT schliessen

  • Antworten:22
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 37

09.09.2013 23:01:19 via Website

Ich habe mehrere seiten in der app, die ueber buttons erreicht werden.

Ich habe bisher immer einen zurueck button gemacht, doch dies wird mir zu lästig!


Also iat hier meine Frage.
Wie kann ich es so einstellen, dass beim betaetigen der zuruecktaste am handy die app wieder eine seite zurueck springt ??


Danke schonmal im vorraus

Lg pascal
  • Forum-Beiträge: 107

09.09.2013 23:57:06 via App

Erstmal zum besseren Verständnis, handelt sich um eine App die du selbst Programmierer, oder um eine die du aus dem Store hast?

Wenn sie aus dem Store ist kannst du leider nix machen.

Wenn es deine eigene App ist funktioniert das soweit ich weiß mit der Methode onKeyDown(), googel einfach mal nach "Android onKeyDown()"

Allerdings solltest du dich beim Entwickeln deiner App an Googles Design-Richtlinien halten. Darin ist geregelt wie die systemweiten und appinternen Zurück Buttons sich verhalten sollten:
Systemweit: geht die chronologische Abfolge geöffneter Activities rückwärts
Appintern: geht die hierarische Abfolge zurück uns springt zu seinem "parent" die hierarchische Abfolge kannst du in der Manifest festlegen

Wenn es also möglich ist halte dich an die Richtlinien, um deinen Nutzern ein konsistentes Erlebnis mit Android zu ermöglichen, oder biete ihnen zumindest die Möglichkeit zu wählen. Wenn du die App für dich persönlich machst ist das natürlich egal ;)

Mfg Dani
  • Forum-Beiträge: 107

10.09.2013 09:21:20 via App

Google doch einfach mal nach "Android onKeyDowm() backbutton", da wirst du sicher was finden
  • Forum-Beiträge: 2.545

10.09.2013 10:39:55 via Website

Wie kann ich es so einstellen, dass beim betaetigen der zuruecktaste am handy die app wieder eine seite zurueck springt ??

Nachdem dir hier alle zu einer "Bastellösung" raten, habe ich ja vielleicht irgendetwas nicht verstanden, aber meine Antwort wäre: wenn das nicht von alleine passiert, dann machst du etwas falsch :)

Du hast eine Seite A mit einem Button, wenn man den drückt, dann gelangt man zu Seite B; wenn man jetzt die Zurücktaste betätigt, dann möchtest du gerne wieder auf Seite A landen, stattdessen passiert aber etwas anderes? (was denn?)

Auf deiner Seite A steht dann vermutlich sowas wie
startActivity(this, B.class);
finish();

Oder wie öffnest du Seite B?
  • Forum-Beiträge: 3.112

10.09.2013 11:04:28 via Website

Ups, ich hab mich verlesen. Ich ging auch davon aus, dass sich der Back Button normal verhält.
  • Forum-Beiträge: 37

10.09.2013 13:09:21 via Website

Hä?
Jetzt raff ich garnix mehr :D

Wenn ich auf seite a einen button druecke gelange ich auf seite b. Wenn ich jetzt von seote b wieder zu seote a gelangen will und die zuruecktaste meines handy betaetige schliesst die ganze app :(
  • Forum-Beiträge: 1.793

10.09.2013 13:59:09 via App

"Seite" ist vielleicht ungenau. Bist du sicher, dass du eine neue *Activity* lädst? Dann funktioniert das ganze von alleine. Wahrscheinlich verwendest du nur "setContentView()", besser aber, du erstellst einzelne Activitys. Wie das geht, steht in jedem Anfänger Tutorial.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

  • Forum-Beiträge: 2.545

10.09.2013 14:04:59 via Website

Wenn ich jetzt von seote b wieder zu seote a gelangen will und die zuruecktaste meines handy betaetige schliesst die ganze app

Das liegt dann an der Art und Weise, wie in Seite A die Seite B geöffnet wird - du hast dafür wahrscheinlich Code verwendet, der sinngemäß wie der in meinem letzten Beitrag aussieht?

Dann entferne das "finish()" und ändere das startActivity() vielleicht noch in startActivityForResult(), und schon sollte sich die App wie gewünscht verhalten.
  • Forum-Beiträge: 37

10.09.2013 15:51:31 via Website

Ich hab das Problme ja bei jeder Seite....

Ich öffne neue Seiten über Buttons.

Also wenn ich auf der Startseite bin will ich über einen
Butoon zu seite B von da aus zu seite C. und dann will ich, wenn ich die zurücktaste einmal drücke wieder zu seite B gelangen.
und wenn ich dann wieder die zurücktaste einmal anklicke will ich zu seite A gelangen!


LG Pascal
  • Forum-Beiträge: 2.545

10.09.2013 16:29:57 via Website

Und wo soll ich das aendern ??

Das liegt dann an der Art und Weise, wie in Seite A die Seite B geöffnet wird

Wenn du das tatsächlich nicht verstehst... dann halt anders herum: zeig mal den Code, mit dem du in Seite A die Seite B öffnest.


Ich hab das Problme ja bei jeder Seite....

Naheliegend, weil du den gleichen Code vermutlich für jeden Seitenwechsel verwendest.


@impjor: guter Einwand, an diese setContenView Unsitte hatte ich gar nicht gedacht.
  • Forum-Beiträge: 37

10.09.2013 16:56:48 via Website

Hallo.
Ich mache es über Buttondrucks

android:onClick="buttondruck1"

damit gelang ich dann zu seite B

das mach ich immer so und werde es auf keinen fall anders machen da es so schon funktioniert und ich es für 30 seiten habe und ich mache das programmieren noch nicht lang.

ich will doch einfach nur einen befehl der sagt wenn ich die zurücktaste drücke dann gehe auf die zuvorige seite.


und dazu möchte ich nix an meinen befehlen ändern.


LG Pascal
  • Forum-Beiträge: 3.112

10.09.2013 18:05:42 via Website

Eine neue Activity startet man mit einem Intent (zuvor muss man diese Activity als neue Klasse erstellen).
Du veränderst nur den Inhalt, bleibst aber bei der selben Activity.

— geändert am 10.09.2013 18:08:27

  • Forum-Beiträge: 37

10.09.2013 18:15:13 via Website

Mhhhh.....
Ich wei nicht was du meinst....


Ich will doch einfach nur über die Taste zurückkommen, muass ich jetzt alles neu machen??

Es muss auch eine andere Möglichkeit geben??
  • Forum-Beiträge: 141

10.09.2013 18:23:05 via Website

Mach dir doch bitte die Mühe und google einfach mal was eine Activity ist und was du damit alles machen kannst. Damit sollte doch eigentlich alles klar sein. Deine Applikation hat, so nehme ich jetzt mal an, bisher nur eine Activity. Wenn du den Inhalt der in dieser angezeigt wird änderst, bedeutet das nicht, dass du ein neues Fenster erstellst mit neuem Inhalt. Wenn du dann natürlich den back-key überschreibst und eine Activity killst schließt du deine App da du die einzige Activity beendest.