2016-09-21 1 views
0

두 개의 Activities이 있고 각각 다른 하나를 대체하는 3-4 Fragments이 있습니다.마지막 조각을 다시 누르면 이전 활동으로 바로 이동하기 전의 활동이 표시됩니다.

Activity1Fragment2 두 번째 활동을 시작, Activity2Fragment1는 출시 onBackPressedActivity2을 종료하고 정상적으로 돌아 Activity1에 간다. 그래도 난 Activity1에서 Activity2, Fragment3을 시작있을 때

, 나는 onCreate 방법에 콘을 통해 이루어집니다 2 활동에 Fragment2을 추가 할 수 있습니다.

그러나 뒤로 단추를 누르면 조각이 초 단위로 사라지고 화면에 Activity2이 비어 있고 그 후에는 Activity2이 닫혀 시각적 결함이 발생합니다.

Activity2을 닫을 수있는 것이 있습니까? Fragment2이 뒤로 가기 버튼으로 닫혀있을 때와 동일한 시각적 순간 (적어도 동일한 시각적 순간)을 유지해야합니까?

감사합니다.

추 신 : 조각을 backStack에 추가하지 않으면 첫 번째 경우 (예상되는 동작)에서 발생하는 동작이 즉시 닫히지 만 조각을 백 스택에 추가 할 때 (두 번째 케이스)는 글리치를 생성합니다.

답변

0

오클라호마 백스탭과 며칠간 싸운 후에 제대로 작동하지 않거나 이해가 안되기 때문에 나는 그것을 건너 뛰기로 결정했습니다.

내가 한 방식은 내 활동에 있습니다. 어떤 단편이 보여지고 있는지 확인하고 있으며, 마지막 단락인지 확인하고 있습니다 (여러 항목은 "마지막 항목"입니다). 그냥 finish() 활동입니다.

@Override 
public void onBackPressed() { 

    MyFragment myFragment = (MyFragment)fragmentManager.findFragmentByTag("MyFragment"); 
    if (myFragment != null && myFragment .isVisible()) { 
     //if myFragment is visible when the back button is pressed... 
     finish(); 
    } else { 
     super.onBackPressed(); 
    } 
} 

번역본에 FragmentManager 부분에 이름을 지정하는 것을 잊지 마십시오. 제 경우에는 "MyFragment"입니다.

관련 문제