i trying make gridview on layoutinflater, when test app, crashes. here code :
public class level1 extends fragment { public static fragment newinstance(context context) { level1 f = new level1(); return f; } public view oncreateview(layoutinflater inflater, viewgroup container,bundle savedinstancestate) { viewgroup root = (viewgroup) inflater.inflate(r.layout.grid_layout, null); gridview gridview = (gridview) root.findviewbyid(r.id.grid_view); gridview.setadapter(new imageadapter(root.getcontext())); } i think, problem in "setadapter". can't use context "xxx.this". i've try change setadapter context "getcontext" , "getapplicationcontext" still crashes. when delete "setadapter" app working without gridview.
my imageadapter :
public class imageadapter extends baseadapter { private context mcontext; public integer[] mthumbids = { r.drawable.pic_1, r.drawable.pic_2, r.drawable.pic_3, r.drawable.pic_4, r.drawable.pic_5, r.drawable.pic_6, r.drawable.pic_7, r.drawable.pic_8, r.drawable.pic_9, r.drawable.pic_10, r.drawable.pic_11, r.drawable.pic_12, r.drawable.pic_13, r.drawable.pic_14, r.drawable.pic_15 }; // constructor public imageadapter(context c){ mcontext = c; } @override public int getcount() { return mthumbids.length; } @override public object getitem(int position) { return mthumbids[position]; } @override public long getitemid(int position) { return 0; } @override public view getview(int position, view convertview, viewgroup parent) { imageview imageview = new imageview(mcontext); imageview.setimageresource(mthumbids[position]); imageview.setscaletype(imageview.scaletype.center_crop); imageview.setlayoutparams(new gridview.layoutparams(70, 70)); return imageview; } } please me..
please set breakpoint on line gridview gridview = (gridview) root.findviewbyid(r.id.grid_view); , start debugging app (in eclipse it's button on left side of button use start application). when breakpoint reached please step on 1 step , see if gridview null. me looks reasonable source of error. without detailled error message it's hard say, please update post.
Comments
Post a Comment