2014-10-04 3 views
0

주 활동과 어린 활동이 있습니다. 하위 활동의 ​​버튼을 사용하여 주요 활동으로 돌아갑니다. 내 액티비티에는 자식 액티비티로 돌아올 때 다시 시작하고 싶지 않은 애니메이션이 있습니다. 그래서 여기에 아이 활동에 홈 작업입니다 :안드로이드 4.0.4에서 위로 버튼이 올바르게 작동하지 않습니다.

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 

     switch (item.getItemId()) { 
     case android.R.id.home: 
      Intent intent = NavUtils.getParentActivityIntent(this); 
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      NavUtils.navigateUpTo(this, intent); 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

는 그리고 여기 매니페스트입니다 : 내가 잘하지만에서 4.4.4 작동 안드로이드 5LG 넥서스에서 실행

<activity 
     android:name=".ChildActivity" 
     android:label="@string/app_name" 
     android:parentActivityName=".MainActivity" > 

     <!-- Parent activity meta-data to support 4.0 and lower --> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".MainActivity" /> 
</activity> 

Xperia arcandroid 4.0.4 주 활동으로 돌아올 때마다 애니메이션이 시작됩니다. 해결책은 무엇입니까?

업데이트 :

나는 다음 중 한 가지 방법을 사용하여 원하는 것을 얻을 수 있습니다 최대 눌렀을 때

1

그냥 finish()를 호출.

2- 인 텐트에 플래그를 추가 할 때 Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP을 사용합니다.

그러나 나는 안드로이드 4.4.4와 4.0.4에서 이러한 차이점이 무엇이 발생하는지 알고 싶습니다.

미리 감사드립니다.

+0

사람들이 쉽게 상황을 이해할 수있을 때이 방법으로 질문에 의견을 추가하십시오 .- – mmlooloo

+0

@mmlooloo 감사합니다. 내가 해냈어 :-) –

답변

0

Providing Up Navigation에 대해 Intent을 직접 작성하는 대신 NavUtils.navigateUpFromSameTask(this);을 사용할 수 있습니다. 그러면 플래그가 올바르게 처리되어 상위 작업으로 돌아갈 수 있습니다.

+0

주 활동으로 돌아갈 때 두 장치가 모두 애니메이션을 시작하게 만든다. –

+1

오른쪽, 위로 및 뒤로 ('finish()'로 수행되는 작업)는 서로 다른 작업입니다. 위로는 현재 화면을 닫고 사용자가 어디로 왔는지, Up은 일관성있는 부모 상태 인 의미 체계를 만드는 작업과 관련됩니다. 상위 액티비티의 매니페스트 엔트리에'singleTop'이 없다면 부모 액티비티와 볼 수있는 애니메이션을 완전히 재현하는 것을 볼 수 있습니다. – ianhanniballake

관련 문제