使用Robolectric测试DialogFragments

时间:2012-10-25 11:37:37

标签: android unit-testing robolectric android-dialogfragment

我有几个关于使用Robolectric测试DialogFragment类的问题,因为我在互联网上遇到了关于这个主题的完全缺乏的信息。

  1. 传递给onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)的正确论据是什么?
  2. 我无法将参数传递给DialogFragment,我正在使用以下方法:

    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();
    
  3. 每当代码尝试访问参数时,它都会以NullPointerException崩溃。

    非常感谢有关这些主题的任何想法。

1 个答案:

答案 0 :(得分:0)

您使用的是DialogFragment错误。您不应该提交片段,而是在show上调用DialogFragment

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");