Android : How to wait until Timer and Timertask finish their work on UI Thread -


i have fragment. in fragment, have timer run timertask periodically. override onpause when switch fragment, timertask , timer stop work.

@override         public void onpause() {             super.onpause();             timertask.cancel();             timer.cancel();             timer.purge();         } 

and here code switching fragment :

orderfragment fragment2 = new orderfragment();                     fragment2.setarguments(arguments);                     getsupportfragmentmanager().begintransaction().replace(r.id.item_detail_container, fragment2).commit(); 

but when switch different fragment, receive null point exception because timertask cannot access ui thread anymore (because have used runonuithread )

so, question : how sure timer , timertask stop work, before can change fragment.

thanks :)

it seems onhiddenchanged(boolean hidden) need. fragment onpause() documentation:

this tied activity.onpause of containing activity's lifecycle.

so onpause() isn't called when fragment no longer visible. move timer canceling code onhiddenchanged().


Comments

Popular posts from this blog

monitor web browser programmatically in Android? -

Shrink a YouTube video to responsive width -

wpf - PdfWriter.GetInstance throws System.NullReferenceException -