{"id":4068,"date":"2014-03-30T07:27:05","date_gmt":"2014-03-30T07:27:05","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/03\/30\/expandable-list-adapter-keeps-crashing-activity-collection-of-common-programming-errors\/"},"modified":"2014-03-30T07:27:05","modified_gmt":"2014-03-30T07:27:05","slug":"expandable-list-adapter-keeps-crashing-activity-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/03\/30\/expandable-list-adapter-keeps-crashing-activity-collection-of-common-programming-errors\/","title":{"rendered":"Expandable list Adapter keeps crashing Activity-Collection of common programming errors"},"content":{"rendered":"<p>Forgive me for what might be the noobiest of issues, but I don&#8217;t know what&#8217;s causing my app to crash (this time). I&#8217;m simply trying to inflate an xml layout file into expandable list view.<\/p>\n<pre><code>package com.anthonyce.mcathomie;\n\nimport android.app.Activity;\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.BaseExpandableListAdapter;\nimport android.widget.ExpandableListView;\nimport android.widget.TextView;\n\npublic class PlayoptionsActivity extends Activity {\n\nExpandableListView Mtopics;\nExpandableAdapter MtopicsAdapter;\n\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.activity_playoptions);\n    \/\/set up adapter\n    MtopicsAdapter = new ExpandableAdapter();\n    Mtopics = (ExpandableListView) findViewById(R.id.mtopicsListView);\n    Mtopics.setAdapter(MtopicsAdapter);\n    \/\/Mtopics.setGroupIndicator(null);\n}\n\npublic class ExpandableAdapter extends BaseExpandableListAdapter {\n    private Context context;\n    private String[] groups = { \"People Names\", \"Dog Names\", \"Cat Names\",\n            \"Fish Names\" };\n    private String[][] children = { { \"Arnold\" }, { \"Ace\" }, { \"Fluffy\" },\n            { \"Goldy\" } };\n\n    public Object getChild(int groupPosition, int childPosition) {\n            return children[groupPosition][childPosition];\n    }\n\n    public long getChildId(int groupPosition, int childPosition) {\n            return childPosition;\n    }\n\n    public View getChildView(int groupPosition, int childPosition,\n            boolean isLastChild, View convertView, ViewGroup parent) {\n        View childView;\n        LayoutInflater childInflate = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\n        childView = childInflate.inflate(R.layout.mtopics_childrow, parent, false);\n\n        TextView childtxt = (TextView)childView.findViewById(R.id.mtopicchildtext);\n        childtxt.setText(getChild(groupPosition, childPosition).toString());\n\n        return childView;\n\n    }\n\n    public int getChildrenCount(int groupPosition) {\n        return children[groupPosition].length;\n    }\n\n    public Object getGroup(int groupPosition) {\n        return groups[groupPosition];\n    }\n\n    public int getGroupCount() {\n        return groups.length;\n    }\n\n    public long getGroupId(int groupPosition) {\n        return groupPosition;\n    }\n\n    public View getGroupView(int groupPosition, boolean isExpanded,\n            View convertView, ViewGroup parent) {   \n        View groupView;\n        groupView = new View(context);\n        LayoutInflater groupInflate = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\n        groupView = groupInflate.inflate(R.layout.mtopics_grouprow, parent, false);\n\n        TextView grouptxt = (TextView)groupView.findViewById(R.id.mtopicgrouptext);\n        grouptxt.setText(getGroup(groupPosition).toString());\n\n        return groupView;\n    }\n\n    public boolean hasStableIds() {\n        return true;\n    }\n\n    public boolean isChildSelectable(int groupPosition, int childPosition) {\n        return true;\n    }\n}\n}\n<\/code><\/pre>\n<p>And here is an xml of the group layout that i&#8217;m trying to inflate<\/p>\n<pre><code>    \n\n    \n\n\n\n    \n\n\n<\/code><\/pre>\n<p>Before it was working but no text was showing and now with this code it just crashes. I don&#8217;t think the issue would be in the childrow, but here goes<\/p>\n<pre><code>\n\n    \n\n    \n\n<\/code><\/pre>\n<p>And here is the logCat that I&#8217;m finding indecipherable<\/p>\n<pre><code>09-05 17:09:33.919: E\/AndroidRuntime(429): FATAL EXCEPTION: main\n09-05 17:09:33.919: E\/AndroidRuntime(429): java.lang.NullPointerException\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.ViewConfiguration.get(ViewConfiguration.java:228)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.View.(View.java:1878)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at com.anthonyce.mcathomie.PlayoptionsActivity$ExpandableAdapter.getGroupView(PlayoptionsActivity.java:118)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:445)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.AbsListView.obtainView(AbsListView.java:1430)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.ListView.onMeasure(ListView.java:1127)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.View.measure(View.java:8313)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.ViewRoot.performTraversals(ViewRoot.java:839)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.os.Handler.dispatchMessage(Handler.java:99)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.os.Looper.loop(Looper.java:123)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at android.app.ActivityThread.main(ActivityThread.java:3683)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at java.lang.reflect.Method.invokeNative(Native Method)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at java.lang.reflect.Method.invoke(Method.java:507)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\n09-05 17:09:33.919: E\/AndroidRuntime(429):  at dalvik.system.NativeStart.main(Native Method)\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Forgive me for what might be the noobiest of issues, but I don&#8217;t know what&#8217;s causing my app to crash (this time). I&#8217;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; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4068","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/4068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=4068"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/4068\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=4068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=4068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=4068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}