{"id":1850,"date":"2022-08-30T15:19:58","date_gmt":"2022-08-30T15:19:58","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2013\/12\/02\/null-pointer-list-adapter-android-closed-collection-of-common-programming-errors\/"},"modified":"2022-08-30T15:19:58","modified_gmt":"2022-08-30T15:19:58","slug":"null-pointer-list-adapter-android-closed-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2022\/08\/30\/null-pointer-list-adapter-android-closed-collection-of-common-programming-errors\/","title":{"rendered":"null pointer list adapter android [closed]-Collection of common programming errors"},"content":{"rendered":"<p>I created my own adapter to put some concerts in the list. Everything works fine without the day separators, but with them, when you scroll down the list and the convertView function is called for each new row that will appear on the screen i get a NullPointer Exception on the following line of the convertView function:<\/p>\n<pre><code>tvNombre.setText(entry.getArtista());\n<\/code><\/pre>\n<p>However i can print the name of the artist in the log, and I revised to pass the correct list to the adapter. Can anybody help me?<\/p>\n<p>Thanks in advance.<\/p>\n<pre><code>    listConciertoEvento.add(new ConciertoEvento(\"dia_0\", \"\", new GregorianCalendar(2012,10,dia,0,0)));\n\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Moodyman\",\"Becool\",\"Electr\u00f3nica\",\n            new GregorianCalendar(2012,10,dia,23,30),new GregorianCalendar(2012,10,dia+1,5,0),\"\",\"\",10));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Chinese Man\",\"Razzmataz 2\",\"Trip-Hop\",\n            new GregorianCalendar(2012,10,dia,21,0),new GregorianCalendar(2012,10,dia,23,0),\"\",\"\", 50));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Kreator\",\"Razzmataz\",\"Thrash Metal\",\n            new GregorianCalendar(2012,10,dia,20,30),new GregorianCalendar(2012,10,dia,23,0),\"\",\"\",10));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Barricada\",\"KGB\",\"Rock\",\n            new GregorianCalendar(2012,10,dia,22,0),new GregorianCalendar(2012,10,dia+1,0,30),\"\",\"\", 50));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"The Buzzcocks\",\"Apolo\",\"Thrash Metal\",\n            new GregorianCalendar(2012,10,dia,21,30),new GregorianCalendar(2012,10,dia,23,30),\"\",\"\",10));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Mr.Oizo\",\"La 2\",\"Electr\u00f3nica\",\n            new GregorianCalendar(2012,10,dia,23,30),new GregorianCalendar(2012,10,dia+1,3,0),\"\",\"\", 50));\n\n\n\n    dia++;\n    \/\/listConciertoEvento.add(new ConciertoEvento(\"dia_1\", \"\", new GregorianCalendar(2012,10,dia,0,0)));\n\n        listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_1\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_2\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_3\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_4\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_5\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_6\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_7\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_8\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_9\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_10\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_11\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_12\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_13\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_14\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n    listConciertoEvento.add(new ConciertoEvento(x++,\"Cannibal Corpse_15\",\"Razzmataz\",\"Death Metal\",new GregorianCalendar(2012,10,13,13,30),new GregorianCalendar(2012,10,13,15,0),\"\",\"\", 15));\n<\/code><\/pre>\n<p>Here the code of the convertView on the adapter:<\/p>\n<pre><code>    public View getView(int position, View convertView, ViewGroup viewGroup) {\n\n    ConciertoEvento entry = listConciertoEvento.get(position);\n    if (convertView == null) {\n\n        if (!entry.getArtista().startsWith(\"dia_\")){\n\n            Log.v(\"lalalala\", \"XXXX layout concierto\");\n\n            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\n            convertView = inflater.inflate(R.layout.concierto_evento_row, null);\n\n        }else{\n\n            Log.v(\"lalalala\", \"XXXX layout dia\");\n\n            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\n            convertView = inflater.inflate(R.layout.dia_row, null);\n        }\n    }\n\nfinal int id = entry.getId();\n    if (!entry.getArtista().startsWith(\"dia_\")){\n\n        Log.v(\"lalalala\", \"XXXX is concert\");\n\n        ImageView imSquare = (ImageView) convertView.findViewById(R.id.imSquare);\n\n        TextView tvNombre = (TextView) convertView.findViewById(R.id.tvNombre);\n\n        Log.v(\"lalalala\", entry.getArtista());\n        tvNombre.setText(entry.getArtista());\n        Log.v(\"lalalala\", \"XXXX tvNombre.setText(entry.getArtista()); done\");\n\n\n        TextView tvPath = (TextView) convertView.findViewById(R.id.tvPath);\n        tvPath.setText(entry.getPath_imagen());\n\n\n\n    }else{\n        Log.v(\"lalalala\", \"XXXX is day\");\n        Log.v(\"lalalala\", entry.getArtista());\n\n    }\n\n    return convertView;\n}\n<\/code><\/pre>\n<p>Here the log:<\/p>\n<pre><code>10-22 12:23:11.468: V\/lalalala(582): XXXXXXXXXXX  xivato en fragment2\n10-22 12:23:11.468: V\/lalalala(582): dia_0\n10-22 12:23:11.468: V\/lalalala(582): Kreator\n10-22 12:23:11.468: V\/lalalala(582): Chinese Man\n10-22 12:23:11.468: V\/lalalala(582): The Buzzcocks\n10-22 12:23:11.468: V\/lalalala(582): Barricada\n10-22 12:23:11.468: V\/lalalala(582): Mr.Oizo\n10-22 12:23:11.468: V\/lalalala(582): Moodyman\n10-22 12:23:11.468: V\/lalalala(582): dia_1\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_15\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_14\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_13\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_12\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_11\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_10\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_9\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_8\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_7\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_6\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_5\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_4\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_3\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_2\n10-22 12:23:11.468: V\/lalalala(582): Cannibal Corpse_1\n10-22 12:23:11.619: D\/dalvikvm(582): GC_EXTERNAL_ALLOC freed 130K, 51% free 2642K\/5379K, external 904K\/1038K, paused 48ms\n10-22 12:23:11.669: V\/lalalala(582): XXXX layout dia\n10-22 12:23:11.669: V\/lalalala(582): XXXX is day\n10-22 12:23:11.669: V\/lalalala(582): dia_0\n10-22 12:23:11.679: V\/lalalala(582): XXXX layout concierto\n10-22 12:23:11.739: D\/dalvikvm(582): GC_EXTERNAL_ALLOC freed 12K, 51% free 2640K\/5379K, external 1058K\/1570K, paused 50ms\n10-22 12:23:11.779: V\/lalalala(582): XXXX is concert\n10-22 12:23:11.779: V\/lalalala(582): Kreator\n10-22 12:23:11.779: V\/lalalala(582): XXXX tvNombre.setText(entry.getArtista()); done\n10-22 12:23:11.789: V\/lalalala(582): XXXX layout concierto\n10-22 12:23:11.799: V\/lalalala(582): XXXX is concert\n10-22 12:23:11.799: V\/lalalala(582): Chinese Man\n10-22 12:23:11.799: V\/lalalala(582): XXXX tvNombre.setText(entry.getArtista()); done\n10-22 12:23:11.809: V\/lalalala(582): XXXX layout concierto\n10-22 12:23:11.819: V\/lalalala(582): XXXX is concert\n10-22 12:23:11.819: V\/lalalala(582): The Buzzcocks\n10-22 12:23:11.819: V\/lalalala(582): XXXX tvNombre.setText(entry.getArtista()); done\n10-22 12:23:11.819: V\/lalalala(582): XXXX layout concierto\n10-22 12:23:11.839: V\/lalalala(582): XXXX is concert\n10-22 12:23:11.839: V\/lalalala(582): Barricada\n10-22 12:23:11.839: V\/lalalala(582): XXXX tvNombre.setText(entry.getArtista()); done\n10-22 12:23:11.839: V\/lalalala(582): XXXX layout concierto\n10-22 12:23:11.869: V\/lalalala(582): XXXX is concert\n10-22 12:23:11.879: V\/lalalala(582): Mr.Oizo\n10-22 12:23:11.879: V\/lalalala(582): XXXX tvNombre.setText(entry.getArtista()); done\n10-22 12:23:11.889: V\/lalalala(582): XXXX layout concierto\n10-22 12:23:11.899: V\/lalalala(582): XXXX is concert\n10-22 12:23:11.899: V\/lalalala(582): Moodyman\n10-22 12:23:11.899: V\/lalalala(582): XXXX tvNombre.setText(entry.getArtista()); done\n10-22 12:23:11.909: V\/lalalala(582): XXXX layout dia\n10-22 12:23:11.909: V\/lalalala(582): XXXX is day\n10-22 12:23:11.909: V\/lalalala(582): dia_1\n10-22 12:23:11.909: V\/lalalala(582): XXXX layout concierto\n10-22 12:23:11.929: V\/lalalala(582): XXXX is concert\n10-22 12:23:11.929: V\/lalalala(582): Cannibal Corpse_15\n10-22 12:23:11.929: V\/lalalala(582): XXXX tvNombre.setText(entry.getArtista()); done\n10-22 12:23:37.829: W\/KeyCharacterMap(582): No keyboard for id 0\n10-22 12:23:37.829: W\/KeyCharacterMap(582): Using default keymap: \/system\/usr\/keychars\/qwerty.kcm.bin\n10-22 12:23:39.729: V\/lalalala(582): XXXX is concert\n10-22 12:23:39.739: V\/lalalala(582): Cannibal Corpse_14\n10-22 12:23:39.739: D\/AndroidRuntime(582): Shutting down VM\n10-22 12:23:39.749: W\/dalvikvm(582): threadid=1: thread exiting with uncaught exception (group=0x40015560)\n10-22 12:23:39.769: E\/AndroidRuntime(582): FATAL EXCEPTION: main\n10-22 12:23:39.769: E\/AndroidRuntime(582): java.lang.NullPointerException\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at com.u.totsound.AdapterConciertoEvento.getView(AdapterConciertoEvento.java:89)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.AbsListView.obtainView(AbsListView.java:1409)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.ListView.addViewBelow(ListView.java:2914)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.ListView.scrollListItemsBy(ListView.java:2843)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.ListView.arrowScrollImpl(ListView.java:2340)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.ListView.arrowScroll(ListView.java:2287)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.ListView.commonKey(ListView.java:2089)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.ListView.onKeyDown(ListView.java:2036)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.KeyEvent.dispatch(KeyEvent.java:1256)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.View.dispatchKeyEvent(View.java:3855)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:787)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.ListView.dispatchKeyEvent(ListView.java:2021)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.widget.TabHost.dispatchKeyEvent(TabHost.java:278)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:789)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1687)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1120)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.app.Activity.dispatchKeyEvent(Activity.java:2073)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1663)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2560)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2535)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1867)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.os.Handler.dispatchMessage(Handler.java:99)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.os.Looper.loop(Looper.java:123)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at android.app.ActivityThread.main(ActivityThread.java:3683)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at java.lang.reflect.Method.invokeNative(Native Method)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at java.lang.reflect.Method.invoke(Method.java:507)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\n10-22 12:23:39.769: E\/AndroidRuntime(582):  at dalvik.system.NativeStart.main(Native Method)\n<\/code><\/pre>\n<p id=\"rop\"><small>Originally posted 2013-12-02 21:01:13. <\/small><\/p>","protected":false},"excerpt":{"rendered":"<p>I created my own adapter to put some concerts in the list. Everything works fine without the day separators, but with them, when you scroll down the list and the convertView function is called for each new row that will appear on the screen i get a NullPointer Exception on the following line of the [&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-1850","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/1850","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=1850"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/1850\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=1850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=1850"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=1850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}