Why can't I click a Button in a ListView using SimpleAdapter in android? -


i newbie android. have posted question earlier didn't find appropriate answer. requirement make button clickable in listviewwhich generated using simpleadapter.i don't want use customadapter,baseadapter or other adapter. don't want extend activty simpleadapter.my code , error logs follows. if has solutions please explain me step step. thank you.

mainactivity.java

 public class mainactivity extends activity {  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);     arraylist<hashmap<string, string>>val1=new arraylist<hashmap<string,string>>();      hashmap<string, string>val=new hashmap<string,string>();     val.put("a","a");     val.put("c","c");     val.put("b","b");     val1.add(val);       final listview l=(listview)findviewbyid(r.id.listview1);      listadapter k=new simpleadapter(this,val1,r.layout.mytask,new string[]{"taskid","heading","status"},new int[]{r.id.view1,r.id.view2,r.id.viewstatus});       button b=(button)findviewbyid(r.id.mytask);      b.setonclicklistener(new onclicklistener() {          @override         public void onclick(view arg0) {             // todo auto-generated method stub             toast.maketext(mainactivity.this,"save",toast.length_short).show();         }     });         l.setadapter(k);     } 

error log:

  04-07 01:43:07.075: e/androidruntime(2113): fatal exception: main   04-07 01:43:07.075: e/androidruntime(2113): process: com.example.s, pid: 2113   04-07 01:43:07.075: e/androidruntime(2113): java.lang.runtimeexception: unable start activity componentinfo{com.example.s/com.example.s.mainactivity}: java.lang.nullpointerexception   04-07 01:43:07.075: e/androidruntime(2113):   @ android.app.activitythread.performlaunchactivity(activitythread.java:2195)   04-07 01:43:07.075: e/androidruntime(2113):   @ android.app.activitythread.handlelaunchactivity(activitythread.java:2245)   04-07 01:43:07.075: e/androidruntime(2113):   @ android.app.activitythread.access$800(activitythread.java:135)   04-07 01:43:07.075: e/androidruntime(2113):   @ android.app.activitythread$h.handlemessage(activitythread.java:1196)   04-07 01:43:07.075: e/androidruntime(2113):   @ android.os.handler.dispatchmessage(handler.java:102)   04-07 01:43:07.075: e/androidruntime(2113):   @ android.os.looper.loop(looper.java:136)   04-07 01:43:07.075: e/androidruntime(2113):   @ android.app.activitythread.main(activitythread.java:5017)   04-07 01:43:07.075: e/androidruntime(2113):   @ java.lang.reflect.method.invokenative(native method)   04-07 01:43:07.075: e/androidruntime(2113):   @ java.lang.reflect.method.invoke(method.java:515)   04-07 01:43:07.075: e/androidruntime(2113):   @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779)   04-07 01:43:07.075: e/androidruntime(2113):   @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595)   04-07 01:43:07.075: e/androidruntime(2113):   @ dalvik.system.nativestart.main(native method)  04-07 01:43:07.075: e/androidruntime(2113): caused by: java.lang.nullpointerexception  04-07 01:43:07.075: e/androidruntime(2113):    @ com.example.s.mainactivity.oncreate(mainactivity.java:34)  04-07 01:43:07.075: e/androidruntime(2113):    @ android.app.activity.performcreate(activity.java:5231)  04-07 01:43:07.075: e/androidruntime(2113):    @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1087)  04-07 01:43:07.075: e/androidruntime(2113):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2159)  04-07 01:43:07.075: e/androidruntime(2113):    ... 11 more 

mytask.xml

<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"   >  <textview     android:id="@+id/textview1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentleft="true"     android:layout_alignparenttop="true"     android:layout_margintop="18dp"     android:text="task name:"      android:textsize="15dp"     android:textstyle="bold" />  <textview     android:id="@+id/view1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentleft="true"     android:layout_alignparenttop="true"     android:text="textview"      android:textsize="15dp"     android:textstyle="bold"     android:visibility="invisible" />  <textview     android:id="@+id/view2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/textview1"     android:layout_alignbottom="@+id/textview1"     android:layout_marginleft="31dp"     android:layout_torightof="@+id/textview1"     android:text="textview"      android:textsize="15dp"     android:textstyle="bold"     android:visibility="visible" />  <textview     android:id="@+id/viewstatus"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/view2"     android:layout_alignbottom="@+id/view2"     android:layout_alignparentright="true"     android:text="pending"      android:textsize="15dp"     android:textstyle="bold" />  <textview     android:id="@+id/textview2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/viewstatus"     android:layout_alignbottom="@+id/viewstatus"     android:layout_marginright="14dp"     android:layout_toleftof="@+id/viewstatus"     android:text="status:"      android:textsize="15dp"     android:textstyle="bold" />  <button     android:id="@+id/mytask"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentleft="true"     android:layout_below="@+id/textview1"     android:text="button" />   </relativelayout> 

activity_main.xml

 <listview     android:id="@+id/listview1"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:layout_alignparentleft="true"     android:layout_alignparenttop="true"     android:layout_marginleft="106dp"     android:layout_margintop="124dp" > </listview> 

activity_main.xml not have button id mytask. cannot initialize button in mainactivtiy.

the button belongs mytask.xml override getview , have button listener there.

http://developer.android.com/reference/android/widget/simpleadapter.html

edit:

   simpleadapter k=new simpleadapter(this,val1,r.layout.mytask,new string[]{"a","c","b"},new int[]{r.id.view1,r.id.view2,r.id.viewstatus})     {         @override         public view getview (int position, view convertview, viewgroup parent)         {             view v = super.getview(position, convertview, parent);               button b=(button)v.findviewbyid(r.id.mytask);              b.setonclicklistener(new onclicklistener() {                  @override                 public void onclick(view arg0) {                     // todo auto-generated method stub                     toast.maketext(mainactivity.this,"save",toast.length_short).show();                 }             });             return v;         }       }; 

edit: since not convinced here's snap

enter image description here


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -