我点击了一个按钮点击侦听器,并在下一个片段上传递参数。 代码: -
Fragment fragment = new CustomList();
Bundle args = new Bundle();
args.putString("fragment", "Custom");
args.putSerializable("productBean", productBean);
fragment.setArguments(args);
fragmentManager = getActivity().getSupportFragmentManager();
fragmentTransaction = fragmentManager
.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_in, R.anim.slide_out, R.anim.slide_enter, R.anim.slide_exit);
fragmentTransaction.replace(R.id.container_body, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
按钮点击的书面测试用例: -
Button custom_btn = (Button) fragment.getView().findViewById(R.id.custom_btn);
custom_btn.performClick();
但是在执行测试用例时,它会在CustomList()片段上的getArguments时显示空指针异常。
productsBean = (ProductsBean) getArguments().getSerializable("productsBean");
答案 0 :(得分:1)
尝试更改此代码:
productsBean = (ProductsBean) getArguments().getSerializable("productsBean");
到这个
productsBean = (ProductsBean) getArguments().getSerializable("productBean");
正如您所看到的,您正在向该捆绑添加标签" productBean" ,但是当您尝试获取它时,您使用的是&#34标签; productsBean" ,您添加了" s" charachter。
我会从那个改变开始。