2013-03-08 3 views
1

내 응용 프로그램에는 액티비티 UserMenu가 있으며, 이후에로드가 완료 될 때 생성됩니다. 다음 번에 응용 프로그램을 열 때이 화면을 다시로드해서는 안됩니다. UserMenu 화면의 상태를 그대로 저장하고 싶습니다.액티비티 저장 상태 -

나는 this을 통해 이동했지만 구현해야하는 것을 볼 수 없으며 모든 값을 저장하지 않으려 고합니다. 간단히 말해서 동일한 화면을 다시 만들고 싶습니다. 안드로이드의 홈 버튼을 누르기 만하면됩니다. .

내 문제와 관련하여 친절하게 도와주세요.

감사

+0

간단한로드 후속로드를 설명 할 수 있습니까? 화면의 상태로 정확히 저장하려는 대상은 무엇입니까? –

+0

확장 가능한 목록보기가 있고 그룹 및 하위에 대한 arraylists가로드되고 일부 API가 백그라운드에서 호출하는 asynctask에서로드됩니다. –

답변

0

당신은 활동이 더 파괴됩니다 버튼을 다시 누르면 홈과 한 번 이동할 때

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      goToHome(); 
      return true; 
     } 

     return super.onKeyDown(keyCode, event); 
    } 

    private void goToHome() { 
     moveTaskToBack(true); 

    } 

그래서 UserMenu 활동 클래스에서이

처럼 할 수 오랫동안 홈 버튼을 누르거나 액티비티를 다시로드하지 않는 메뉴에서 앱을 시작합니다.

감사

+0

Amit, 좋은 해결책이 아닙니다. 작업 관리자로부터 응용 프로그램을 지울 때 어떤 일이 발생합니까 ?????? –

0

당신이 홈 버튼에 대해 무슨 말을하는지 등 그것은 나에 따라 수 없습니다. 홈 버튼을 누르면 활동이 onPause()이되고 다시 열면 onResume()이됩니다. 당신은 당신이 그것을 simple.just 만들기 위해 Activity Lifecycle를 수행하기 위해 필요한이 onSavedInstanceState

0

을 읽을 onSavedInstanceState()을 또한 실행할 보장 된 없다 사용하여 Actvity 요소의 값을 절약 할 수 있습니다 즉, 당신은 다음과 같습니다 링크에 제안 무엇을 할 수 onCreate() 메서드에서 해당 데이터를로드하려면 ArrayList()을 사용하여 일부 독립 실행 형 클래스에 데이터를 저장하고 ArrayList() 및 저장된 데이터를 onResume()에 표시하고 onCreate() 내부의 데이터를 확인하기 위해 ArrayList()을 확인하십시오. 로드되지 않았 으면로드합니다.로드하지 않습니다.로드하지 마십시오.