2015-01-13 5 views
2

프래그먼트 FA가있는 활동 A가 있습니다.이 프래그먼트에서 FAB로 이동합니다.이 마지막 프래그먼트는 FragmentPagerAdapter입니다. A에서 FA로 FB로 갈 때, 뒤로 버튼을 누르고 FA로 돌아가서 FB로 다시 가면이 조각은 아무것도 보이지 않습니다.뒤로 버튼을 눌렀을 때 이전 프래그먼트로 이동합니다. FragmentAdapter

페이징 어댑터의 getView 메소드가 호출되지 않았습니다. FA A에서

:

:

private void setFragment() { 
     FragmentManager fragmentManager = getSupportFragmentManager(); 
     Fragment replyGroupsFragment = new ReplyGroupsFragment(); 
     Bundle bundle = new Bundle(); 
     bundle.putString("title", reportName); 
     replyGroupsFragment.setArguments(bundle); 
     fragmentManager.beginTransaction().replace(R.id.container, replyGroupsFragment, "ReplyGroupsFragment").commit(); 
     getSupportActionBar().setTitle(getString(R.string.info)); 
     getSupportActionBar().setDisplayShowTitleEnabled(true); 
    } 

가 FA에서 FB (사용 butterkniffe)에

@OnItemClick(R.id.listViewReplyGroup) 
    void listClick(int position) { 
     List<DomainReplie> domainReplieArrayList = generateRepliesList(position); 
     setRepliesFragment((ArrayList<DomainReplie>) domainReplieArrayList); 
} 

그리고 내 PagerFragment이 포함

이 내 거래 코드

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     ReplyGroupsActivity replyGroupsActivity = (ReplyGroupsActivity) getActivity(); 
     List<DomainReplie> replies = getArguments().getParcelableArrayList("replies"); 
     adapter = new PagerAdapter(replyGroupsActivity.getSupportFragmentManager(), this, replies); 
     setActionBar(); 
    } 

    @Override 
    public void onResume() { 
     super.onResume(); 
     FirextApplication.getInstance().getBus().register(this); 
    } 

    @Override 
    public void onPause() { 
     super.onPause(); 
     FirextApplication.getInstance().getBus().unregister(this); 
    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     super.onCreateView(inflater, container, savedInstanceState); 
     View view = inflater.inflate(R.layout.work_containter_replies, container, false); 
     ButterKnife.inject(this, view); 
     pager.setAdapter(adapter); 
     return view; 
    } 

두 경우 모두 Life Cyrcle이 같지만 두 번째 라운드 화면에는 아무 것도 표시되지 않습니다.

+0

FA에서 FB로 어떻게 이동합니까? –

+0

같은 문제가 있습니다. FA에서 FB로 이동 한 후 FA로 돌아 가면 아무 것도 표시되지 않습니다. 나는 라이프 사이클을 점검하고 처음으로 같은 ... – kristyna

답변

0

조금 늦었지만 다른 사람들에게 도움이 될 수 있습니다.

나는 동일한 문제가있었습니다. 마지막으로 나는 그것을 해결했고 나는 당신과 같은 실수를 ... 여기에 문제의 원인이되는 라인 :

fragmentManager.beginTransaction().replace(R.id.container, replyGroupsFragment, "ReplyGroupsFragment").commit(); 

당신은 replace()을 요구하고있다,하지만 replace()은 현재의 단편을 대체 - 당신이 전화를해야 add() 다른 조각을 다시 스택에 추가하는 것 - ButterKnife가 뷰를 다시로드/업데이트하도록 수정 한 것입니다.

참고 : 버터 나이프가 많이 바뀝니다. inject() 대신 bind()을 사용하십시오.

관련 문제