java - Android Gridview with Edittext -


i want display edittext , textview in gridview item.and override baseadapter.when run it, it's nullpointer. i've checked datainput .it's ok , activity received right data.

markviewactivity.java

package com.find.voter;  import java.util.arraylist; import java.util.hashmap;  import android.app.activity; import android.app.alertdialog; import android.content.intent; import android.os.bundle; import android.view.keyevent; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.gridview; import android.widget.textview;  public class markviewactivity extends activity{ private gridview gridview; private arraylist<string>list; private button reset; private button confirm; private int checknum; private textview toptextshow; private int num1; private gridadapter madapter;  private boolean havecookie; private double []cookie; protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.gridview2);      gridview=(gridview)findviewbyid(r.layout.gridview2);     reset=(button)findviewbyid(r.id.reset2);     confirm=(button)findviewbyid(r.id.confirm2);     toptextshow=(textview)findviewbyid(r.id.checknumshow2);     list=new arraylist<string>();     checknum=0;      getinput();      madapter=new gridadapter(list, this, num1,cookie); //here !!!nullpointer     gridview.setadapter(madapter);  }  private void getinput(){     bundle receivebundle=this.getintent().getextras();     cookie=receivebundle.getdoublearray("marklistcookie");      num1=receivebundle.getint("num1");     system.out.println(num1+"num1");     //get num1     cookie=new double[num1];     for(int i=0;i<num1;i++){         list.add((i+1)+"");     }  }    private void markcheck(){     int t=num1-checknum;     if(t>0){         new         alertdialog.builder(markviewactivity.this).settitle("noteice").setmessage("ddddddd").setpositivebutton("ok", null).show();     }else{         intent send=new intent();         bundle bundle=new bundle();         bundle.putdoublearray("markanswer", cookie);         send.putextra("ans2", bundle);         markviewactivity.this.setresult(2,send);         markviewactivity.this.finish();     } } private void markstate(){     int t=num1-checknum;     if(t>0)         toptextshow.settext("test1");     else          toptextshow.settext("test2"); } private void datachanged(){     madapter.notifydatasetchanged();     markstate(); } 

gridadapter.java

package com.find.voter; import java.util.arraylist; import java.util.hashmap; import android.content.context; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.baseadapter; import android.widget.checkbox; import android.widget.edittext; import android.widget.textview; public class gridadapter extends baseadapter{ private arraylist<string>list; private static double ismarked[]; private context context; private layoutinflater infalter=null; private int num1; public gridadapter(arraylist<string>list,context context,int num1,double[]xx) {     this.context=context;     this.list=list;     infalter=layoutinflater.from(context);     ismarked=xx;     this.num1=num1; } @override public int getcount() {     // todo auto-generated method stub     return list.size(); } @override public object getitem(int position) {     // todo auto-generated method stub     return list.get(position); } @override public long getitemid(int position) {     // todo auto-generated method stub     return position; } public static double [] getismarked(){return ismarked;} public static void setismarked(double [] m){     gridadapter.ismarked=m; } @override public view getview(int position, view convertview, viewgroup parent) {     viewholder holder=null;     if(convertview==null){         holder=new viewholder();         convertview=infalter.inflate(r.layout.itemgrid2, null);         holder.tv=(textview)convertview.findviewbyid(r.id.grid_tv);         holder.et=(edittext)convertview.findviewbyid(r.id.grid_edittext);         convertview.settag(holder);     }else{         holder=(viewholder)convertview.gettag();      }     holder.tv.settext(list.get(position));     holder.et.settext(getismarked()[position]+"");     return convertview; }  public static class viewholder {       textview tv;       edittext et; } 

}

itemgrid2.xml

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <textview     android:id="@+id/grid_tv"     android:layout_height="wrap_content"     android:layout_gravity="center_vertical"     android:textsize="50sp"     android:layout_weight="1" />     <edittext     android:id="@+id/grid_edittext"     android:layout_height="wrap_content"     android:layout_weight="1"     android:ems="10"     android:inputtype="numberdecimal" >      <requestfocus />         </edittext> </linearlayout> 

gridview2.xml

<?xml version="1.0" encoding="utf-8"?>   <relativelayout xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="fill_parent"   android:layout_height="fill_parent"   android:orientation="horizontal" >  <textview     android:id="@+id/checknumshow2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentleft="true"     android:layout_alignparenttop="true"     android:textsize="30sp"     android:text="" />  <linearlayout     android:id="@+id/linear2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentleft="true"  >         <button     android:id="@+id/reset2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"      style="?android:attr/buttonbarbuttonstyle"      android:textsize="30sp"     android:text="@string/reset" />          <button             android:id="@+id/confirm2"             android:layout_width="wrap_content"             android:layout_height="wrap_content"              style="?android:attr/buttonbarbuttonstyle"                      android:textsize="30sp"             android:text="@string/confirm" />  </linearlayout> <gridview     android:id="@+id/grid"     android:layout_width="fill_parent"     android:layout_height="fill_parent"      android:layout_below="@+id/linear2"       android:numcolumns="auto_fit"       android:verticalspacing="10dp"       android:horizontalspacing="10dp"       android:columnwidth="90dp"       android:stretchmode="columnwidth"       android:gravity="center"  />  

logcat

    08-19 10:16:18.412: e/androidruntime(9923): fatal exception: main 08-19 10:16:18.412: e/androidruntime(9923): java.lang.runtimeexception: unable start activity componentinfo{com.find.voter/com.find.voter.markviewactivity}: java.lang.nullpointerexception 08-19 10:16:18.412: e/androidruntime(9923):     @ android.app.activitythread.performlaunchactivity(activitythread.java:2180) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.app.activitythread.handlelaunchactivity(activitythread.java:2230) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.app.activitythread.access$600(activitythread.java:141) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.app.activitythread$h.handlemessage(activitythread.java:1234) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.os.handler.dispatchmessage(handler.java:99) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.os.looper.loop(looper.java:137) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.app.activitythread.main(activitythread.java:5041) 08-19 10:16:18.412: e/androidruntime(9923):     @ java.lang.reflect.method.invokenative(native method) 08-19 10:16:18.412: e/androidruntime(9923):     @ java.lang.reflect.method.invoke(method.java:511) 08-19 10:16:18.412: e/androidruntime(9923):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793) 08-19 10:16:18.412: e/androidruntime(9923):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:560) 08-19 10:16:18.412: e/androidruntime(9923):     @ dalvik.system.nativestart.main(native method) 08-19 10:16:18.412: e/androidruntime(9923): caused by: java.lang.nullpointerexception 08-19 10:16:18.412: e/androidruntime(9923):     @ com.find.voter.markviewactivity.oncreate(markviewactivity.java:44) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.app.activity.performcreate(activity.java:5104) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1080) 08-19 10:16:18.412: e/androidruntime(9923):     @ android.app.activitythread.performlaunchactivity(activitythread.java:2144) 08-19 10:16:18.412: e/androidruntime(9923):     ... 11 more 

this line:

gridview=(gridview)findviewbyid(r.layout.gridview2); 

is incorrect. want refer r.id.grid


Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -