Próbuję przesłonić onBackPressed(). Wygląda jednak na to, że nie wykryje, gdy kliknę przycisk Wstecz na pasku akcji.Dlaczego funkcja onBackPressed() nie jest wywoływana?
Obecnie mam ten kod:
@Override
public void onBackPressed() {
Log.i("DATA", "Hit onBackPressed()");
super.onBackPressed();
}
Komunikat dziennika nigdy nie pojawia się w LogCat. Wiem, że ta instrukcja dziennika działa, ponieważ jest kopiowana z innej metody z innym komunikatem wyświetlanym w LogCat.
Szukałem odpowiedzi i próbowałem używać onKeyDown i wykrywając, czy kliknięto przycisk BACK, ale nadal mam ten sam problem. Informacja o projekcie:
- Android Studio 0.9.3
- Metoda znajduje się w pustym aktywności
- cel SDK 21
- minimum sdk 15
- urządzenie testujące jest Samsung Galaxy 5 (nie emulator)
Każda pomoc będzie bardzo ceniona !!
EDIT:
To jest kopia mojego kodu pracy (jest to kod testowy więc nazwa działalność nie jest opisowe):
public class MainActivity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
getActionBar().setDisplayHomeAsUpEnabled(true);//Displays the back button
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main_activity2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Log.i("DATA", "Hit Actionbar Back Button");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
komunikat „Hit Actionbar Wstecz” pojawia się teraz w LogCat.
'przycisk Wstecz w bar.' działania, ponieważ przycisk w actionbar nie jest przycisk wstecz. To jest przycisk "w górę". zobacz http://developer.android.com/training/implementing-navigation/ancestral.html – njzk2