É o exemplo de um fragment que usa um work fragment (sem UI) que usa uma thread para simular um serviço de longa duração.
É interessante por:
-uso de um work fragment no lugar de um service ou de uma AsyncTask.
-uso da opção setRetainInstance(true) para manter o fragment durante o processo de recriação da activity.
-uso de uma thread com o ciclo de vida controlado pelo ciclo de vida dos fragments envolvidos.
-técnica de construção de um work fragment thread-safe, com o uso do wait-notify.
Seguem os códigos:
fragment_retain_instance.xml
FragmentRetainInstance.java
Abraços
PS: O código abaixo deveria ter um tratamento diferente, a primeira linha deveria estar logo após criar o ProgressBar, e a seguinte deveria ser executada na UI Thread (p.e, com um runOnUiThread).
max = mProgressBar.getMax();
mProgressBar.setProgress(mPosition);
Nenhum comentário:
Postar um comentário