2016-09-07 3 views
0

활동이 있습니다. 이 활동에서는, 나는 DialogFragment C. 지금 내가 KonfirmasiPembayaranPesertaFragment DialogFragment 에서 메소드를 호출하려면 다음 조각 B에, 내가 전화를 조각 B.를 설정할 수 있지만이 방법이 내가 전화하는 방법입니다활동에서 DialogFragment의 메소드를 호출 할 수 없습니다.

라고 점점되지 DialogFragment KonfirmasiPembayaranPesertaFragment

FragmentManager fragmentManager = getChildFragmentManager(); KonfirmasiPembayaranPesertaFragment manageFaq = new KonfirmasiPembayaranPesertaFragment(); manageFaq.setTargetFragment(this, 0); manageFaq.setCancelable(false); manageFaq.setDialogTitle("Konfirmasi Pembayaran Pendaftaran Peserta"); manageFaq.show(fragmentManager, "Konfirmasi"); manageFaq.setData(detailJadwal); 

지금 나는 내 ParentActivity에서 DialogFragment에서 메서드를 호출

조각 B에서

KonfirmasiPembayaranPesertaFragment curFrag = (KonfirmasiPembayaranPesertaFragment) 
        getSupportFragmentManager().findFragmentByTag("Konfirmasi"); 
      if(curFrag!=null && curFrag.getDialog()!=null 
        && curFrag.getDialog().isShowing()) { 
       // call method 
      } else { 
       // DialogFragment not detect 
      } 

문제 : curFrag가 null이므로 해결 방법은 무엇입니까?

+0

다음 줄을 확인하십시오 : FragmentManager fragmentManager = getChildFragmentManager(); getFragmentManager()를 사용하지 않는 이유는 무엇입니까? – TOP

+0

KonfirmasiPembayaranPesertaFragment가 다른 단편 (단편 B)에서 호출 되었기 때문에 –

+0

단편 B에서 getFragmentManager()를 호출 할 수 있습니다 – TOP

답변

0
Fragment curFrag = getFragmentManager().findFragmentByTag("Konfirmasi"); 
     if (curFrag != null) { 
      FragmentTransaction removeTransaction = getFragmentManager().beginTransaction(); 
      removeTransaction.remove(prev); 
      removeTransaction.commit(); 
     } 

     // Create and show the dialog Fragment. 
     if(curFrag ==null){ 
      curFrag = new KonfirmasiPembayaranPesertaFragment(); 
     } 
     curFrag.show(getFragmentManager(),"Konfirmasi"); 
    } 
관련 문제