2

Hi in the below code i have different headers and child's .In Each header contains different child items.

suppose if i am not having any child under the header my app crashes every time.

without child heading also how to add headers

for example: suppose item1 does not contains any child.if i click on the item1 my app crashing every time.

can any one please help me.

 private void prepareListData() {
        listDataHeader = new ArrayList<ExpandedMenuModel> ();
        listDataChild = new HashMap<ExpandedMenuModel, List<String>>();

        ExpandedMenuModel item1 = new ExpandedMenuModel();
        item1.setIconName("HOME");
        item1.setIconImg(R.drawable.home);
        listDataHeader.add(item1);
        listDataHeader.get (0);

        ExpandedMenuModel item2 = new ExpandedMenuModel();
        item2.setIconName("BUILDING MANAGEMENT");
        item2.setIconImg(R.drawable.building_floor_room);
        // Adding data header
        listDataHeader.add(item2);

        ExpandedMenuModel item3 = new ExpandedMenuModel();
        item3.setIconName("LIGHT MANAGEMENT");
        item3.setIconImg(R.drawable.building_floor_room);
        listDataHeader.add(item3);

        ExpandedMenuModel item4 = new ExpandedMenuModel();
        item4.setIconName("SCHEDULING");
        item4.setIconImg(R.drawable.building_floor_room);
        listDataHeader.add(item4);

        ExpandedMenuModel item5 = new ExpandedMenuModel();
        item5.setIconName("USER MANAGEMENT");
        item5.setIconImg(R.drawable.username);
        listDataHeader.add(item5);

        ExpandedMenuModel item6 = new ExpandedMenuModel();
        item6.setIconName("ENERGY MANAGEMENT");
        item6.setIconImg(R.drawable.username);
        listDataHeader.add(item6);

        ExpandedMenuModel item7 = new ExpandedMenuModel();
        item7.setIconName("LOGOUT");
        item7.setIconImg(R.drawable.logout_icon);
        listDataHeader.add(item7);

        // Adding child data



        List<String> heading1 = new ArrayList<String>();
        heading1.add("Add Building");
        heading1.add("Add Floor");
        heading1.add("Grouping Luminaries");

        List<String> heading2 = new ArrayList<String>();
        heading2.add("Add Luminaries");
        heading2.add("Assign Luminaries");
        heading2.add("Grouping Luminaries");

        List<String> heading3 = new ArrayList<String>();
        heading3.add("Add Schedules");
        heading3.add("View Schedules");

        List<String> heading4 = new ArrayList<String>();
        heading4.add("Manage Operator");
        heading4.add("Manage Employee");



        listDataChild.put(listDataHeader.get(1), heading1);// Header, Child data
        listDataChild.put(listDataHeader.get(2), heading2);
        listDataChild.put(listDataHeader.get(3), heading3);
        listDataChild.put(listDataHeader.get(4), heading4);

    }

Logcat:

java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
        at com.deepshikha.lightingsystem.ExpandableListAdapter.getChildrenCount(ExpandableListAdapter.java:43)
        at android.widget.ExpandableListConnector.refreshExpGroupMetadataList(ExpandableListConnector.java:563)
        at android.widget.ExpandableListConnector.expandGroup(ExpandableListConnector.java:688)
        at android.widget.ExpandableListView.handleItemClick(ExpandableListView.java:693)
        at android.widget.ExpandableListView.performItemClick(ExpandableListView.java:653)
        at android.widget.AbsListView$PerformClick.run(AbsListView.java:4085)
        at android.widget.AbsListView$10.run(AbsListView.java:6573)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:7000)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
  • 1
    Post the crashing logs. – Rajat Mehra Jun 04 '19 at 09:46
  • @RajatMehra please check it out – Jyothi Gowniwari Jun 04 '19 at 09:51
  • 1
    you are getting NullPointerException in ExpandableListAdapter.java at line 43... Initialize List before using it. – Rajat Mehra Jun 04 '19 at 09:54
  • 1
    Possible duplicate of [What is a NullPointerException, and how do I fix it?](https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) – Rajat Mehra Jun 04 '19 at 09:58
  • add your adapter code for better understanding. also from log it seems that you are not checking whether your list is null or not also whether your list size is greater than 0.always add null check and size check when you are performing some operations on list – Pranita Jun 04 '19 at 10:20

0 Answers0