Expandable list Adapter keeps crashing Activity-Collection of common programming errors

Forgive me for what might be the noobiest of issues, but I don’t know what’s causing my app to crash (this time). I’m simply trying to inflate an xml layout file into expandable list view.

package com.anthonyce.mcathomie;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;

public class PlayoptionsActivity extends Activity {

ExpandableListView Mtopics;
ExpandableAdapter MtopicsAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_playoptions);
    //set up adapter
    MtopicsAdapter = new ExpandableAdapter();
    Mtopics = (ExpandableListView) findViewById(R.id.mtopicsListView);
    Mtopics.setAdapter(MtopicsAdapter);
    //Mtopics.setGroupIndicator(null);
}

public class ExpandableAdapter extends BaseExpandableListAdapter {
    private Context context;
    private String[] groups = { "People Names", "Dog Names", "Cat Names",
            "Fish Names" };
    private String[][] children = { { "Arnold" }, { "Ace" }, { "Fluffy" },
            { "Goldy" } };

    public Object getChild(int groupPosition, int childPosition) {
            return children[groupPosition][childPosition];
    }

    public long getChildId(int groupPosition, int childPosition) {
            return childPosition;
    }

    public View getChildView(int groupPosition, int childPosition,
            boolean isLastChild, View convertView, ViewGroup parent) {
        View childView;
        LayoutInflater childInflate = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        childView = childInflate.inflate(R.layout.mtopics_childrow, parent, false);

        TextView childtxt = (TextView)childView.findViewById(R.id.mtopicchildtext);
        childtxt.setText(getChild(groupPosition, childPosition).toString());

        return childView;

    }

    public int getChildrenCount(int groupPosition) {
        return children[groupPosition].length;
    }

    public Object getGroup(int groupPosition) {
        return groups[groupPosition];
    }

    public int getGroupCount() {
        return groups.length;
    }

    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    public View getGroupView(int groupPosition, boolean isExpanded,
            View convertView, ViewGroup parent) {   
        View groupView;
        groupView = new View(context);
        LayoutInflater groupInflate = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        groupView = groupInflate.inflate(R.layout.mtopics_grouprow, parent, false);

        TextView grouptxt = (TextView)groupView.findViewById(R.id.mtopicgrouptext);
        grouptxt.setText(getGroup(groupPosition).toString());

        return groupView;
    }

    public boolean hasStableIds() {
        return true;
    }

    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return true;
    }
}
}

And here is an xml of the group layout that i’m trying to inflate

    

    



    


Before it was working but no text was showing and now with this code it just crashes. I don’t think the issue would be in the childrow, but here goes



    

    

And here is the logCat that I’m finding indecipherable

09-05 17:09:33.919: E/AndroidRuntime(429): FATAL EXCEPTION: main
09-05 17:09:33.919: E/AndroidRuntime(429): java.lang.NullPointerException
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.ViewConfiguration.get(ViewConfiguration.java:228)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.View.(View.java:1878)
09-05 17:09:33.919: E/AndroidRuntime(429):  at com.anthonyce.mcathomie.PlayoptionsActivity$ExpandableAdapter.getGroupView(PlayoptionsActivity.java:118)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:445)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.AbsListView.obtainView(AbsListView.java:1430)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.ListView.onMeasure(ListView.java:1127)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.ViewRoot.performTraversals(ViewRoot.java:839)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.os.Looper.loop(Looper.java:123)
09-05 17:09:33.919: E/AndroidRuntime(429):  at android.app.ActivityThread.main(ActivityThread.java:3683)
09-05 17:09:33.919: E/AndroidRuntime(429):  at java.lang.reflect.Method.invokeNative(Native Method)
09-05 17:09:33.919: E/AndroidRuntime(429):  at java.lang.reflect.Method.invoke(Method.java:507)
09-05 17:09:33.919: E/AndroidRuntime(429):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-05 17:09:33.919: E/AndroidRuntime(429):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-05 17:09:33.919: E/AndroidRuntime(429):  at dalvik.system.NativeStart.main(Native Method)