2013-07-03 6 views
0

5 개의 탭이 있습니다. 각 탭에는 여러 활동이 들어 있으며 각 활동에는 여러 단편이 있습니다. 예를 들어TabActivity, 단편을 포함하는 활동

: - activity1에 - Fragment1_Activity1 - Fragment2_Activity1 - activity2에 - Fragmnet1_Activity2

나는 탭 내부 activity2에 보여 ActivityGroup를 사용하여 탐색 필요가에서 TAB1입니다.

ActivityGroupClass : Fragment2_Activity1에서

public class CouponsActivityGroup extends ActivityGroup { 
    private Stack<String> stack; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     if (stack == null) stack = new Stack<String>(); 
     //start default activity 
     push("FirstStackActivity", new Intent(this, CouponsContianer.class)); 
     } 

     @Override 
     public void finishFromChild(Activity child) { 
     pop(); 
     } 

     @Override 
     public void onBackPressed() { 
     pop(); 
     } 


     public void push(String id, Intent intent) { 
     Window window = getLocalActivityManager().startActivity(id, intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); 
     if (window != null) { 
      stack.push(id); 
      setContentView(window.getDecorView()); 
     } 
     } 

     public void pop() { 
     if (stack.size() == 1) finish(); 
     LocalActivityManager manager = getLocalActivityManager(); 
     manager.destroyActivity(stack.pop(), true); 
     if (stack.size() > 0) { 
      Intent lastIntent = manager.getActivity(stack.peek()).getIntent(); 
      Window newWindow = manager.startActivity(stack.peek(), lastIntent); 
      setContentView(newWindow.getDecorView()); 
     } 
     } 
    } 

다음 코드를 사용하여 activity2에 호출하고 지금 직면하고

Intent intent = new Intent(); 
intent.setClass(getParent(), RelatedItemListActivity .class); 
CouponsActivityGroup activityStack = (CouponsActivityGroup) getParent(); 
activityStack.push("SecondStackActivity", intent); 

문제 것은 내가 activity2에 대한 전환 애니메이션을 설정할

  1. 입니다
  2. Activity2에서 마지막으로 다시 누르면 Activity1 (Fragment2_Activity1)의 마지막 Fragment 상태를 유지해야합니다.

    어떻게해야합니까?

답변

0

조각은 이전 ActivityGroups를 대체하는 것으로 함께 사용해서는 안됩니다. 하나의 액티비티와 필요한만큼의 조각을 사용하여 애플리케이션을 구현하십시오.

귀하의 질문에 응답 :

  1. FragmentManager은 애니메이션을 설정하는 데 도움이됩니다. FragmentTransaction.setCustomAnimations를 참조하십시오.
  2. 다시 버튼 적절한 방법을 지원하려면 addToBackStack 메서드를 사용하십시오.
+0

내가 Activity2를 사용하는 이유는 다음과 같습니다. - 하단 화면 위로 이동하는 화면의 슬라이드 애니메이션을 원하고이 화면은 하단 화면의 탐색 막대와 겹쳐 야합니다. 다른 화면의 경우 이동 막대가 고정되어 있습니다. 내비게이션 막대가 Activity1 레이아웃 안에 있습니다. Activity2 대신 단편을 사용하면 탐색 표시 줄 위로 미끄러지지 않습니다 – nila

관련 문제