2012-10-25 5 views
13

Robolectric에서 DialogFragment 클래스 테스트에 관한 몇 가지 질문이 있습니다. 인터넷에서이 주제에 대한 전반적인 정보가 부족했기 때문입니다.Robolectric로 DialogFragments 테스트하기

  1. onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)에 전달할 올바른 인수는 무엇입니까?

    activity = new Activity(); 
    dialog = new DialogFragment(); 
    Bundle bundle = new Bundle(); 
    dialog.setArguments(bundle); 
    FragmentManager fm = activity.getSupportFragmentManager(); 
    FragmentTransaction ft = fm.beginTransaction(); 
    ft.add(dialog, "fragment"); 
    ft.commit(); 
    

코드는이 NullPointerException와 충돌 인수에 액세스하려고 할 때마다 :

  • 나는 문제가 나는 다음과 같은 방법을 사용하고, DialogFragment에 인수를 전달있다.

    대단히 감사합니다.

  • +0

    DialogFragment 클래스의 코드를 포함 할 수 있습니까? DialogFragment # show()를 사용하지 않는 이유가 있습니까? 설명서에서는 DialogFragment를 확장하여 사용자 정의 대화 상자를 만드는 방법을 보여줍니다. http://developer.android.com/reference/android/app/DialogFragment.html – user697495

    +0

    해결 했습니까? –

    +0

    @ Egor, 해결 했습니까? –

    답변

    0

    DialogFragment을 잘못 사용 중입니다. 프래그먼트를 작성하지 말고 DialogFragmentshow으로 전화하십시오.

    activity = new Activity(); 
    dialog = new DialogFragment(); 
    Bundle bundle = new Bundle(); 
    dialog.setArguments(bundle); 
    FragmentManager fm = activity.getSupportFragmentManager(); 
    FragmentTransaction ft = fm.beginTransaction(); 
    dialog.show(ft, "fragment"); 
    
    +0

    show()는 거의 동일한 일을합니다 - DialogFragment를 트랜잭션에 추가하고 커밋합니다. – Egor