android - Preloading Fragments when App starts -
i'm using app navigation drawer menu, , want of fragments created when app starts, of fragments fetch data web service , not want user have wait of data load right when go screen. work around this, want create of fragments @ once , hide them, , afterwards display correct fragment.
private void initfragments() { fragmentmanager fmanager = getfragmentmanager(); fragmenttransaction ftransaction = fmanager.begintransaction(); (int = 0; < main_fragments; i++) { ftransaction.add(r.id.frame_container, fragmentarray[i], fragmenttags[i]); } ftransaction.commit(); fmanager.executependingtransactions(); } private void hidefragments(){ fragmentmanager fmanager = getfragmentmanager(); fragmenttransaction ftransaction = fmanager.begintransaction(); (int = 0; < main_fragments; i++) { ftransaction.hide(fmanager.findfragmentbytag(fragmenttags[i])); } ftransaction.commit(); fmanager.executependingtransactions(); } my way work around create of fragments , hide them calling
initfragments() hidefragments() however, i've noticed when run on emulator, on devices correctly show 1 fragment, rest being added hidden. on other devices, show of fragments overlaid ontop of eachother resulting in ugly mess. furthermore, when use app on landscape device such tablet, fragments overlap eachother have forced app portrait mode. ideas on best way go this?
are getting errors?
i suspect devices/versions might not support findfragmentbytag() method, or hide() method matter. try looking that.
with regard overlapping problem on tablets, try this: https://stackoverflow.com/a/11086185/2929693
Comments
Post a Comment