2015-10-05 2 views
0

Я пытаюсь реализовать простой back button на activity, чтобы перейти к предыдущему activity, но некоторые странное поведение происходит, когда я метод finish() вызова - проблема я должен нажать back два раза кнопку? Почему это происходит? В обратном методе у меня есть только finish(). Каков другой способ перейти к предыдущему сохраненному activity без instantiate совершенно новый Intent?нажать кнопку Назад в два раза

public void back1 (View view){ 
    this.finish(); 
    } 

Это вторая попытка с тем же результатом:

ImageButton buttonback = (ImageButton) findViewById(R.id.imageButton6); 

    buttonback.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      onBackPressed(); 
     } 
    }); 
+0

вызов 'super.onBackPressed()' внутри вашего 'onBackPressed()' метода. – Rustam

+0

Как кнопка может вызывать onBackPressed вместо моей функции back()? – Nikanor

+2

показать свой код –

ответ

0

Вы, скорее всего, начинают свою деятельность дважды.

При нажатии назад вы заканчиваете один, а другой - вперед. Проверьте свой onCreate и onResume на все, что может быть использовано намерениями или начинайте любую деятельность.

0
@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
    } 

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

0

Если вы просто хотите, чтобы кнопка возврата устройств функционировала, вам не нужно переопределять метод onBackPressed в действии.

Если вы хотите разместить пользовательскую кнопку в поле зрения и установить обратно действие на эту кнопку, вы необходимости писать кнопку clicklistener к тому же

backbutton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      finish(); 
     } 
}); 
+0

То же самое, мне нужно нажать кнопку два раза с этим кодом. – Nikanor

+0

Предоставьте весь код активности .. Я предполагаю, что вы делаете что-то неправильно. –

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