Monday 15 June 2015

PagerAdapter Give heap size when i inflate layout in this in android? -



PagerAdapter Give heap size when i inflate layout in this in android? -

i inflating linearlayout , creating view in viewpager when create view gives heap size dont understand wrong .i loading image using picassa library in 3 views; inflating layout in constructor gives heap memory ?

private viewpager awesomepager; private static int num_awesome_views = 3; private awesomepageradapter awesomeadapter; imageview mimageview; imageview limageview; imageview rimageview; private view mleft; private view mright; private view mmiddle; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_demo); this.getwindow().addflags(windowmanager.layoutparams.flag_keep_screen_on); awesomepager = (viewpager) findviewbyid(r.id.awesomepager); awesomeadapter = new awesomepageradapter(awesomepager,this); awesomepager.setadapter(awesomeadapter); awesomepager.setcurrentitem(1); awesomepager.setonpagechangelistener(awesomeadapter); awesomepager.setpagemargin(20); } private class awesomepageradapter extends pageradapter implements viewpager.onpagechangelistener { layoutinflater inflater; public awesomepageradapter(viewpager p,context context) { super(); inflater= (layoutinflater)context.getsystemservice(context.layout_inflater_service); mleft=inflater.inflate(r.layout.leftcustom_imagevideo,null); mmiddle=inflater.inflate(r.layout.leftcustom_imagevideo,null); mright=inflater.inflate(r.layout.leftcustom_imagevideo,null); p.addview(mleft); p.addview(mmiddle); p.addview(mright); limageview=(imageview)mleft.findviewbyid(r.id.imageview); mimageview=(imageview)mmiddle.findviewbyid(r.id.imageview); rimageview=(imageview)mright.findviewbyid(r.id.imageview); } @override public void onpagescrolled(int position, float positionoffset, int positionoffsetpixels) { } @override public void onpageselected(int position) { } @override public void onpagescrollstatechanged(int state) { if (state == viewpager.scroll_state_idle) { awesomepager.setcurrentitem(1, false); pagechange=false; } } } @override public int getcount() { homecoming num_awesome_views; } @override public object instantiateitem(view collection, int position) { if (position == 0) { homecoming mleft; } else if (position == 1) { homecoming mmiddle; } else { homecoming mright; } } @override public void destroyitem(view collection, int position, object view) { } @override public boolean isviewfromobject(view view, object object) { homecoming view==(object); } }

loading image

private void nextimage(string tpath,int position) { seek { displaymetrics metrics = getresources().getdisplaymetrics(); int imagewidth = (int) ( (float) metrics.widthpixels / 1.5 ); int imageheight = (int) ( (float) metrics.heightpixels / 1.5 ); tpath=tpath.replaceall(" ", "\\ "); uri uri = uri.fromfile(new file(tpath)); if(position==0){ limageview.setimagedrawable(null); picasso.with(demonewactivity.this).load(uri) .resize(imagewidth,imageheight).config(config.rgb_565).into(limageview); } else if(position==1){ mimageview.setimagedrawable(null); picasso.with(demonewactivity.this).load(uri) .resize(imagewidth,imageheight).config(config.rgb_565).into(mimageview); } else if(position==2){ rimageview.setimagedrawable(null); picasso.with(demonewactivity.this).load(uri) .resize(imagewidth,imageheight).config(config.rgb_565).into(rimageview); } } grab (exception e) { e.printstacktrace(); } }

android android-viewpager android-pageradapter

No comments:

Post a Comment