2013-05-20 35 views
7

Ho ignorato la funzione OnBackPressed all'interno della mia attività, ma non viene chiamata. Su altre attività sta funzionando bene. Ecco il mio metodo:OnBackPressed non viene chiamato?

@Override 
public void onBackPressed() { 
    Log.e("back",""+1); 
    UserPage.getstate().finish(); 
    Intent i=new Intent(CreateGroup.this,UserPage.class); 
    i.putExtra("title11","dd"); 
    startActivity(i); 
    finish(); 
} 

Questo metodo non viene chiamato, e il default OnBackPresssed è chiamato ogni volta che si preme il pulsante indietro.

+3

Che cos'è "UserPage.getstate(). Finish();" facendo? –

+0

hai questo Log.e ("indietro", "" + 1); nel registro ?? –

+0

Ho usato una funzione statica in UserPage per ottenere lo stato dell'attivazione e quindi lo sto finendo. –

risposta

7

provare questo codice

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     Log.e("back",""+1); 
     UserPage.getstate().finish(); 
     Intent i=new Intent(CreateGroup.this,UserPage.class); 
     i.putExtra("title11","dd"); 
     startActivity(i); 
     finish(); 
    } 
    return true; 
} 
+0

Ho già provato questo e non funziona. –

+0

Sto utilizzando i metodi onStop e onRestart in UserPage Activity. Questo ha qualcosa a che fare con questo? –

+0

A parte la modifica dell'attività, vedi la registrazione ?? O il pulsante Indietro non funziona anche? Qual è la tua versione di Android btw? –

4

Hai provato questo? ,

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
     // do something on back pressed. 


     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 
2
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     Log.e("back",""+1); 
     UserPage.getstate().finish(); 
     Intent i=new Intent(CreateGroup.this,UserPage.class); 
     i.putExtra("title11","dd"); 
     startActivity(i); 
     finish(); 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 
6

avuto un problema simile. Il problema per me riguardava il mio override di onKeyDown() che nasconde gli eventi keydown KEYCODE_BACK.

Problemi correlati