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

  • Antworten:22
Pascal Feddersen
  • 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

Antworten
Dani Sahne
  • 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

Antworten
Pascal Feddersen
  • Forum-Beiträge: 37

10.09.2013, 09:03:09 via Website

Ja, es ist fuer meine App.

Also welchen eintrag muss ich jetzt aendern?

Lg pascal

Antworten
Dani Sahne
  • 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

Antworten
San Blarnoi
  • 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?

Antworten
Andy N.
  • 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.

Antworten
Pascal Feddersen
  • 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 :(

Antworten
impjor
  • 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!

Antworten
San Blarnoi
  • 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.

Antworten
Pascal Feddersen
  • Forum-Beiträge: 37

10.09.2013, 15:47:25 via Website

Und wo soll ich das aendern ??

Ich raff es einfach nicht :(

Antworten
Pascal Feddersen
  • 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

Antworten
San Blarnoi
  • 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.

Antworten
Pascal Feddersen
  • 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

Antworten
impjor
  • Forum-Beiträge: 1.793

10.09.2013, 17:00:13 via Website

und dazu möchte ich nix an meinen befehlen ändern
Von alleine wirds sich nichts ändern... :P

Poste doch mal den Code, *WIE* du eine neue "Seite" öffnest, also was in der public void buttonklick1(View v) drinsteht.

VG

Liebe Grüße impjor.

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

Antworten
Pascal Feddersen
  • Forum-Beiträge: 37

10.09.2013, 17:07:18 via Website

}
public void buttondruck2525 (View view) {
setContentView(R.layout.fahrzeuge);

Antworten
Andy N.
  • 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

Antworten
Pascal Feddersen
  • 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??

Antworten
LitteM
  • 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.

Antworten
Pascal Feddersen
  • Forum-Beiträge: 37

10.09.2013, 18:27:28 via Website

achso. ok vertsanden aber ich habe jetzt schon ca 50 seiten und will nciht noch 50 activitys anlegen!!!

Antworten
Gelöschter Account
  • Forum-Beiträge: 93

10.09.2013, 19:26:55 via App

Pascal Feddersen
achso. ok vertsanden aber ich habe jetzt schon ca 50 seiten und will nciht noch 50 activitys anlegen!!!

Dafür verwendet man dann Fragmente.

Aber ehrlich gesagt hört sich das eher nach einem Designfehler an. Unterscheiden sich die "Seiten" so stark? Sonst wäre es vielleicht sinnvoll weniger Activities anzulegen und dynamisch zu füllen?

Was macht denn die App?

Antworten
impjor
  • Forum-Beiträge: 1.793

10.09.2013, 20:35:46 via App

Btw.: Hättest du dir meinen Beitrag durchgelesen, hätten wir hier nicht so nachbohren müssen.
Zudem kann ich Michael nur zustimmen: Du benötigst bestimmt nicht 50 Activitys/Layouts. Zudem kann man einzelne Views auch ausblenden, wenn es nur darum geht.

VG

Liebe Grüße impjor.

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

Antworten