2013-11-21 3 views
0

У меня следующий код в SCORE деятельности:onBackPressed вызывает проблемы в коде

@Override 
    public void onBackPressed() {     
     Intent i = new Intent(Score.this, MainActivity.class); 
     startActivity(i); 
    } 

В основном, когда пользователь нажимает назад я хочу, чтобы они вернуться к основной деятельности. В основной у меня есть кнопка при попадании на выходе из приложения что-то вроде этого:

case R.id.exitButton: 
      finish(); 
      break; 

Так что, когда я начать приложение и хит кнопку выхода он отлично работает при выходе из приложения. Но когда я нахожусь на странице с оценкой и ударяю назад, а затем удаляю кнопку выхода, приложение не выходит из нее, возвращается к странице с заглавными буквами. Кто-нибудь может сказать, что я делаю неправильно?

+1

то, что вы делаете неправильно в [реализует кнопку выхода] (http://www.youtube.com/watch?v=631T7B8HOv4) – panini

ответ

2

Вы начинаете MainActivity со счетом. Счет не заканчивается, поэтому активность Score все еще активна и в стеке навигации.

попробовать сделать следующее:

@Override 
    public void onBackPressed() {     
     Intent i = new Intent(Score.this, MainActivity.class); 
     startActivity(i); 
     finish();//Finishing the score activity is needed 
    } 

Как указано в выше комментарий не нормально иметь кнопку выхода, но вы можете осуществить это, если вы хотите, и или необходимости. Для получения дополнительной информации о заднем стеке см. Следующую документацию по Android.

http://developer.android.com/guide/components/tasks-and-back-stack.html

также существуют различные методы, чтобы вернуться к активной деятельности, имеют вид на Намерение флаги. Такие, как FLAG_ACTIVITY_CLEAR_TOP на следующей странице документации:

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

+0

Это именно то, что вы необходимо сделать –

+0

@QVDev - Я уже пробовал это, но это не работает. Вместо закрытия приложения он переходит в другое действие, называемое игрой. – NoviceMe

+0

Попробуйте FLAG для активности. Я изменил информацию и добавил ссылку в решение. Или взгляните на http://stackoverflow.com/questions/14117476/how-to-quit-an-application-programmatically-through-button-click – QVDev

1

я думаю, что проблема заключается в использовании метода finsh(), чтобы закончить свою деятельность. может быть, вы можете использовать метод, как показано ниже:

case R.id.exitButton: 
      System.exit(0); 
      break; 

надежда, что поможет вам.

0

Для перехода на основную деятельность после нажатия назад от очков вы хотите добавить следующее ..

@Override 
public void onBackPressed() {     
    finish(); 
} 

А для выхода из этого приложения после нажатия кнопки выхода добавить следующее.

case R.id.exit: 
System.exit(0); 
break; 

Надеется, что это помогает ..

Смежные вопросы