2017-04-18 4 views
0

Ich habe eine Aktivität mit Android Studio, das zu AppCompatActivity erweitert:onBackPressed mit verlängern Fragment

public class Act_1 extends AppCompatActivity {

Und das onBackPressed Ereignis funktioniert super.

@Override 
 
public void onBackPressed() { 
 
     
 
}

Das gleiche Ereignis, das ich in einer Aktivität verwenden möchten, die Fragment erweitert:

public class Act_2 extends Fragment{

Aber wenn ich den Code schreiben, gibt es eine Fehlermeldung über @Override, die besagt:

"Methode überschreibt die Methode nicht von ihrer Oberklasse"

Gibt es eine Lösung für dieses Problem?

Dank

Antwort

2

Die ACT_2 kein Activity ist, ist ein Fragment und die onBackPressed() Methode ist eine Activity's Methode, so dass Sie es nicht in Ihrem Fragment außer Kraft setzen. Um dieses Problem zu beheben, ändern Sie Act_2, um AppCompatActivity oder Activity zu erweitern.

0

onBackPressed ist unter Aktivität nicht Fragment. Sie können die Methode in der Aktivität überschreiben.

Like this ::

android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); int Anzahl = fragmentManager.getBackStackEntryCount();

if (count > 0) { 
     getSupportFragmentManager().popBackStack(); 
    }else { 
     if (this instanceof HomeActivity) { 
      //additional code 
     } else { 
      finish(); 
     } 
    } 
Verwandte Themen