2015-07-06 2 views
0

В одном классе Activity Я использую разные макеты.onBackPressed() не работает

Отключив один макет, я перехожу к другому расположению. Но я сталкиваюсь с проблемой, нажимая кнопку «Назад». Он подходит к первой компоновке, пока я нахожусь в третьем макете.

Вот мой код:

Я использовал 3 кнопки, чтобы перейти на другую раскладку.

public void continueToDelivery(View view) { 
    relativeLayoutLogin.setVisibility(view.GONE); 
    relativeLayoutDelivery.setVisibility(view.VISIBLE); 
    relativeLayoutPayment.setVisibility(view.GONE); 
} 

public void continueToPayment(View view) { 
    relativeLayoutDelivery.setVisibility(view.GONE); 
    relativeLayoutPayment.setVisibility(view.VISIBLE); 
} 

public void placeOrder(View view) { 
    relativeLayoutPayment.setVisibility(view.GONE); 
    relativeLayoutSuccess.setVisibility(view.VISIBLE); 
} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) 
    { 
     onBackPressed(); 
    } 
    return super.onKeyDown(keyCode, event); 
} 

ответ

1

Override onBackPressed в вашей деятельности, то:

@Override 
    public void onBackPressed() { 
     if(isThirdLayoutVisible) 
     //go to second layout 
     else if(isSecondLayoutVisible) 
     //go to first layout 
    else 
    //exit from app 
    } 
Смежные вопросы