2014-05-13 3 views
0

나는 계산기를 쓰고있다. 주요 2 가지 모드가 있습니다 : 폴란드어 및 역 폴란드어 시스템. MainActivity가 호출 될 때마다 MainActivity를 사용하여 사용자를 올바른 페이지로 안내합니다. 사용자가 Calc_normal.class 또는 Calc_reverse.class에 관한 것으로, 그가 뒤로 버튼을 누를 경우, 그는 다시 MainActivity에 도착 후자동으로 페이지로 이동하는 방법은 무엇입니까?

public class MainActivity extends BaseActivity 
{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     Intent intent; 
     String CalculatorMode = Memory.getPreference("CalculatorMode", this); 
     if (CalculatorMode.equals("Calc_reverse")) 
      intent = new Intent(this, Calc_reverse.class); 
     else 
      intent = new Intent(this, Calc_normal.class); 
     startActivity(intent); 
    } 
} 

. 그러나 아무 일도 일어나지 않습니다! onCreate()는 더 이상 호출되지 않습니다. 이 문제를 해결하는 방법과이를 작성하는 더 좋은 방법이 있습니까? 나는 배우려고 노력하고 있으며 어떤 도움도 대단히 환영합니다.

+0

여기에 아무 문제가 없습니다. 아마도 매니 페스트 포스트에 있습니다. –

+0

사용자가 뒤로 버튼을 누르면'onCreate()'메소드는 일반적으로 호출되지 않습니다. –

+1

사용자가 Calc <> 활동 내에서 뒤로 버튼을 눌렀을 때이 코드를 실행하려면이 코드를 onCreate에서 onResume 메소드로 이동하십시오. onResume은 활동이 표시 될 때마다 호출됩니다. 그러나 사용자가 일반적인 방식으로 앱을 종료하지 못하게하기 때문에이 동작은 좋지 않습니다. –

답변

0

onCreate() 대신 네비게이션 할 때마다 호출되는 onStart()에서 메소드를 호출 할 수 있습니다.

활동이 소멸되지 않으면 onCreate()가 호출되지 않습니다. 활동 라이프 사이클을 확인할 수 있습니다.

http://developer.android.com/reference/android/app/Activity.html

ONSTART() 활동이 사용자에게 표시되지만 상호 작용하지 않을 것이다.

관련 문제