我有一个名为DialogFragmentOne的对话框片段,我正在显示一个recyclerView。在项目点击该recyclerView调用该服务的后执行的另一个Web服务我试图显示另一个也包含recyclerview的dialogeFragment。但是在调用第二个对话框时出现了一些错误
调用第二个dialogeFragment表单服务是
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (dialog.isShowing()) {
dialog.dismiss();
}
dialogeInterface.getModifierList(modifierList,hasModifier);
}
并在FirstDialogeFragment内部
@Override
public void getModifierList(ArrayList<String> modifierList, boolean hasModifier) {
if (hasModifier) {
FragmentManager manager = getFragmentManager();
ModifierListDIalogeFragment dialog = new ModifierListDIalogeFragment();
Bundle bundle = new Bundle();
bundle.putStringArrayList("modifierList", modifierList);
dialog.setArguments(bundle);
dialog.show(manager.beginTransaction(), "dialog");
}
}
我收到了错误
java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.v4.app.FragmentTransaction android.support.v4.app.FragmentManager.beginTransaction()' on a null object reference
at package.xxx.com.pos_system.fragments.ItemListDialogeFragment.getModifierList(ItemListDialogeFragment.java:140)
答案 0 :(得分:0)
原因是上下文为空。使用活动上下文
if (hasModifier) {
FragmentManager manager = getActivity().getFragmentManager()
ModifierListDIalogeFragment dialog = new ModifierListDIalogeFragment();
Bundle bundle = new Bundle();
bundle.putStringArrayList("modifierList", modifierList);
dialog.setArguments(bundle);
dialog.show(manager.beginTransaction(), "dialog");
}