2012-08-23 2 views
0

내 앱에는 2 개의 활동이 있으며, 첫 번째는 각 페이지에 목록이있는 작업 표시 줄이고, 두 번째는 설정 활동, 작업 표시 줄의 수 및 탭 수입니다. 모든 것은 작동하지만 마지막 일은 내가 할 수없는 일이다. 설정을하고 버튼을 클릭하면 첫 번째 활동으로 돌아갈 수있는 방법이다. 나는 의도를 전달하고 새로운 것으로 활동을 시작하고 싶지 않다. 왜냐하면 JSONRpc 클라이언트가 시작 됐고 연결하는 데 시간이 걸리기 때문에 성가신 일이다. 나는 finish() 두 번째 액티비티를 시도하고 setActionBar onResume()을 호출했다. 그러나 ist는 작업 중이다. 덕분에 .. heres는 일부 코드 :안드로이드 저장/다시로드 설정

첫번째 활동 : 당신이) (설정 작업을 완료 할 때

public void onCreate(Bundle savedInstanceState){ 
super.onCreate(savedInstanceState); 

Rubriky = ((HNapp) this.getApplication()).getRubriky(); 
count=((HNapp) this.getApplication()).getCount(); 

int catIndex = savedInstanceState == null ? 0 :savedInstanceState.getInt("catIndex", 0); 
setUpActionBar(catIndex); 
} 
//my try 
public void onResume(Bundle savedInstanceState){ 
    super.onResume(); 
    int catIndex = savedInstanceState == null ? 0 : savedInstanceState.getInt("catIndex", 0); 
    Rubriky = ((HNapp) this.getApplication()).getRubriky(); 
    count=((HNapp) this.getApplication()).getCount(); 
    setUpActionBar(catIndex); 
} 

//setting up actionbar 
public void setUpActionBar(int selTab) { 

    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayShowTitleEnabled(false); 

    CABNavHan handler = new CABNavHan(this); 

     actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_TABS); 
     int i; 
     for (i = 0; i < count; i++) { 
      actionBar.addTab(actionBar.newTab().setText(Rubriky[i]).setTabListener(handler)); 
     } 
    actionBar.setSelectedNavigationItem(selTab); 
    actionBar.setDisplayUseLogoEnabled(true); 
    } 

답변

0
  1. 는 그 수가 사용자가 예상하는대로 onResume 업데이트하고 확인이있으세요은 (가정 그것은에 반환 백 스택의 기존 작업)?

  2. onResume은 이미 채워진 UI 개체에 대해 동일한 동작을 수행함을 알았습니다. 이 UI 인스턴스의 ActionBar가 이미 구성되어 있고이를 다시 작성하지 않고 업데이트해야 할 수 있습니까? 귀하가 제공 한 코드 스 니펫에서 알기는 어렵습니다.

+0

어떻게 액션 바를 업데이트 할 수 있습니까? –

+0

"ActionBar actionBar;"를 사용하여 count (멤버 변수)를 정의하는 위치 근처에서 참조를 저장할 수 있습니다. 그런 다음 onResume – Syntax

0

onBackPressed(); 어디에서 첫 번째로 돌아가고 싶습니다.

+0

에서 onCreate 및 Create 기존 인스턴스를 대입하여 final()을 호출하는 대신 UI 입력을 에뮬레이션합니다. 기능상의 차이점이 있습니까? – Syntax

+0

나는 final과 onBackpressed()가 둘 다 다르다고 생각한다. 그는 의도를 전달하고 싶지 않습니다. 따라서 BackPressed를 호출하면 이전 활동을 검색합니다. – Neha

+0

final을 호출하면 Android가 현재 Activity (onBackPressed()를 호출 한 결과)를 마무리하고 스택의 다음 활동으로 효과적으로 돌아갑니다. 돌아 가지). – Syntax