0

In my Android Project I need to call my second dialog from first dialog both are Dialog Fragment. my code seems to be correct because i do the same thing from my activity to call first dialog but for second dialog it doesn't work that way.

Code:

public class ProjectDialogFragment extends DialogFragment {

    public FragmentManager fManager = getFragmentManager();
    public CPDialogFragment cpDF = new CPDialogFragment();
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup     container, Bundle savedInstanceState) {

        View view =     inflater.inflate(R.layout.project_dialogfragment,container,false);
       getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
        Button btn_CreateProject =     (Button)view.findViewById(R.id.btn_CreateProject);
        btn_CreateProject.setOnClickListener(PFOnClickListener);
        Button btn_ProjectsList =     (Button)view.findViewById(R.id.btn_ProjectsList);
        btn_ProjectsList.setOnClickListener(PFOnClickListener);
        return view;
    }

    private final View.OnClickListener PFOnClickListener = new     View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId())
            {
                case R.id.btn_CreateProject:
                    Log.e("CP","CreateProject Clicked");

                    cpDF.show(fManager,"Create Project Dialog Fragment");
                    break;
                case R.id.btn_ProjectsList:
                      Log.e("CP","ProjectList Clicked");
                    break;
                default:
                    break;
            }
        }
    };
}

But its throw null point exception at this line:

 cpDF.show(fManager,"Create Project Dialog Fragment");
Adnan
  • 814
  • 12
  • 38

1 Answers1

0

By moving Global Parameters to Local, my Issue solved:

first i try to create method:

  //prepare to open create project dialog fragment
    public void openCreateProjectDialogFragment() {
        FragmentManager fManager = getFragmentManager();
        CPDialogFragment cpDF = new CPDialogFragment();
        cpDF.show(fManager,"Create Project Dialog Fragment");
    }

then use it in:

 private final View.OnClickListener PFOnClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId())
            {
                case R.id.btn_CreateProject:
                    openCreateProjectDialogFragment();
                    dismiss();
                break;
                case R.id.btn_ProjectsList:
                    openProjectsListDialogFragment();
                    dismiss();
                    break;
                default:
                    break;
            }
        }
    };
}
Adnan
  • 814
  • 12
  • 38