1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

(Sub) Activity reagiert nicht auf goback / zurück

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von magnum, 18.10.2010.

  1. magnum, 18.10.2010 #1
    magnum

    magnum Threadstarter Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    1
    Registriert seit:
    17.06.2009
    Hallo zusammen,

    ich bin dabei mir ein Widget zuschreiben. Das Widget an sich ist fertig und liegt schön auf meinem Homescreen. Meine Umsetzung ist nun so das wenn ich irgendwo auf diesem Widget sich eine neue Activity öffnet. Dies ist auch soweit OK. Auf diesem Activity habe ich eine Liste. Durch das längeres drücken öffnet sich ein Contextmenü auf jedem Listen Eintrag. Nun öffne ich aus diesem Contextmenü eine weitere Activity. Hier ist nun das Problem, weil wenn ich auf dieser letzten Activity den goback/zurück Button drücke bekomme ich zwar durch die Vibration angezeigt das ich ihn zwar gedrückt hatte aber zurück springen auf die Activity mit der liste tut er nicht. Warum bloß?
    Auf dem Activity mit der Liste habe ich ebenfalls ein OptionsMenu. Die von dort aus gestarteten Activities kommen erfolgreich zurück.
    Der Start aller Activities erfolgt wie folgt:
    Code:
    Intent localIntent = new Intent(getApplicationContext(), <Klassenname>.class);
    startActivity(localIntent);
    
    Auch im Manifest sind alle Activities gleich beschrieben:
    Code:
            <activity android:label="@string/app_name" android:name=".<Klassenname>" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="stateHidden">
              <intent-filter>
                    <action android:name="<Klassenname>" />
                </intent-filter>
            </activity>
    
    Ich hoffe ihr könnt mir irgendwie weiterhelfen.
     
  2. the_alien, 18.10.2010 #2
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Fragst du die Keypresses ab und leitest das Event nicht richtig weiter? Oder hast du onBackPressed() (bei Android > 2.0 afair) implementiert ohne super aufruf?
     
  3. magnum, 18.10.2010 #3
    magnum

    magnum Threadstarter Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    1
    Registriert seit:
    17.06.2009
    Hi,

    also ja ich habe in der Klasse in der es nicht funktioniert ein
    Code:
        @Override
      public boolean onKeyDown(int keyCode, KeyEvent event) 
      {
          super.onKeyDown(keyCode, event);
          if (keyCode == KeyEvent.KEYCODE_CALL) 
          {
              performDial();
              return true;
          }
          return false;
      } 
    implementiert.

    Ein onBackPressed() nutze ich nicht.
     
  4. magnum, 18.10.2010 #4
    magnum

    magnum Threadstarter Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    1
    Registriert seit:
    17.06.2009
    Hi,

    und schon mal danke für Eure Hilfe ;) Wer lesen kann steht nicht auf dem Code :D. Also da war tatsächlich noch was mit der super-Methode noch nicht korrekt :D Hier nun die korrekte Version:
    Code:
    @Override
      public boolean onKeyDown(int keyCode, KeyEvent event) 
      {
          if (keyCode == KeyEvent.KEYCODE_CALL) 
          {
              performDial();
              return true;
          }
          return super.onKeyDown(keyCode, event);
      }
     

Diese Seite empfehlen