0

다음 코드를 Fragment extends Fragment에서 Activity extends 활동으로 이동하려고 시도했습니다. BaseActivity.java에서onBackpress에서 액티비티로 돌아 가기

Intent mIntent = new Intent(getActivity(), UserProfile.class); 
      Bundle bundle = new Bundle(); 
      bundle.putBoolean(Constant.isFromChatScreen, false); 
      mIntent.putExtras(bundle); 
      startActivity(mIntent); 

나는 지금 내가 그렇게 할 수있는 방법 프래그먼트 onBackPressed 로 다시 이동하려는 Userprofile.java로 이동 C ..from Fragment A 조각 A, 조각 B, 조각이?

+1

이것은 다소 이상하게 보입니다. 그러나 질문을 잘못 해석했을 수 있습니다. 프래그먼트는 액티비티에서 호스팅되므로 조각을 교환하고 백 스택을 통해 조작해야하는 이유는 무엇입니까? – Stefan

+0

BaseActivity.java에서 조각 A, 단편 B, 단편 C.. 단편 A가 있습니다. Userprofile.java로 이동 했으므로 이제 단편 A로 다시 이동하고 싶습니다. –

+0

'startActivityForResult()'? – Stefan

답변

0

조각 트랜잭션을 수행 할 때 커밋 전에 addToBackStack(null)을 사용하면 다시 버튼을 누르면 조각으로 돌아갑니다.

+0

그는 새로운 활동을 시작합니다. 활동의 라이프 사이클이 어떻게 변하는 지 고려해야합니다. –

+0

당신은 내 대답이 정확하다는 링크와 함께 Hadi Samadbin의 의견을 볼 수 있습니다. 그는 새로운 액티비티를 시작하고 그가 뒤로 버튼을 누르면 마지막 액티비티 (이는 조각 A를 포함하는 액티비티)로 이동하게되고, 트랜지션을 addToBackStack으로하면 조각 A가 표시됩니다. 새로운 작업에 대한 의도를 시작하기 전에 작업 한 마지막 부분. –

+0

@ T.S 질문을 upvote 수 있습니까? .. –

1

findFragmentByTag() here에 대한 Google 문서를 확인하십시오.

또한 addToBackStack을 (사용할 수 있습니다)하여 FragmentTransaction

에서 조각을 호출하면
0

오래된 질문하지만,이에 대한 답을 찾는 사람이 바로이 할 수있는 동안 :

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

finish() "닫힙니다" 현재 액티비티를 가져와 프래그먼트로 되돌아갑니다 (사실, 프래그먼트를 호스팅하는 액티비티로 돌아갑니다)

관련 문제