0

Below is my fragment class from which I want to fetch values, but it is giving me error.

 @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            rootView = inflater.inflate(R.layout.fragment_register_company, container, false);

            bindViews();


            return rootView;
        }

        private void bindViews() {
            companyName = rootView.findViewById(R.id.companyName);
            compAddress1 = rootView.findViewById(R.id.compAddress1);
            compAddress2 = rootView.findViewById(R.id.compAddress2);
            compCountry = rootView.findViewById(R.id.compCountry);
            compState = rootView.findViewById(R.id.compState);
            compCity = rootView.findViewById(R.id.compCity);
            compWebsite = rootView.findViewById(R.id.compWebsite);
            compEmail = rootView.findViewById(R.id.compEmail);
            compPhone = rootView.findViewById(R.id.compPhone);

        }

        public HashMap<String, String> getCompanyDetails() {

            companyNameString = companyName.getText().toString();
            compAddress1String = compAddress1.getText().toString();
            compAddress2String = compAddress2.getText().toString();
            compCountryString = compCountry.getText().toString();
            compStateString = compState.getText().toString();
            compCityString = compCity.getText().toString();
            compWebsiteString = compWebsite.getText().toString();
            compEmailString = compEmail.getText().toString();
            compPhoneString = compPhone.getText().toString();


            HashMap<String, String> map = new HashMap<>();
            map.put("companyNameString", companyNameString);
            map.put("compAddress1String", compAddress1String);
            map.put("compAddress2String", compAddress2String);
            map.put("compCountryString", compCountryString);
            map.put("compStateString", compStateString);
            map.put("compCityString", compCityString);
            map.put("compWebsiteString", compWebsiteString);
            map.put("compEmailString", compEmailString);
            map.put("compPhoneString", compPhoneString);

            return map;

        }

This is my function inside my Main Activity from which I am trying to fetch values.

 private void collectData() {


        HashMap<String, String> compMap= new RegisterCompanyFragment().getCompanyDetails();



        companyNameString = compMap.get("companyNameString");
        compAddress1String = compMap.get("compAddress1String");
        compAddress2String = compMap.get("compAddress2String");
        compCountryString = compMap.get("compCountryString");
        compStateString = compMap.get("compStateString");
        compCityString = compMap.get("compCityString");
        compWebsiteString = compMap.get("compWebsiteString");
        compEmailString = compMap.get("compEmailString");
        compPhoneString = compMap.get("compPhoneString");




    }

Here is the error, I guess this error is because the edit-text has not bind to the view and still I am trying to use it. So kindly help me to resolve this by providing a method to access the values of edit text from the fragment. For more information kindly comment below. Thank You.

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.jagmad.jhea, PID: 30128
                  java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
                      at com.jagmad.jhea.Registration.RegisterCompanyFragment.getCompanyDetails(RegisterCompanyFragment.java:75)
                      at com.jagmad.jhea.Registration.CompanyRegistration.collectData(CompanyRegistration.java:186)
                      at com.jagmad.jhea.Registration.CompanyRegistration.onOptionsItemSelected(CompanyRegistration.java:139)
                      at android.app.Activity.onMenuItemSelected(Activity.java:3208)
                      at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:407)
                      at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:195)
                      at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:108)
                      at android.support.v7.app.AppCompatDelegateImplV9.onMenuItemSelected(AppCompatDelegateImplV9.java:674)
                      at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:822)
                      at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:171)
                      at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:973)
                      at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:963)
                      at android.support.v7.widget.ActionMenuView.invokeItem(ActionMenuView.java:624)
                      at android.support.v7.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:150)
                      at android.view.View.performClick(View.java:5612)
                      at android.view.View$PerformClick.run(View.java:22288)
                      at android.os.Handler.handleCallback(Handler.java:751)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6123)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

0 Answers0