Resolvi aqui...estava chamando o restart em outro lugar....
Em sábado, 31 de maio de 2014 11h43min51s UTC-3, Bugs_Bunny escreveu:
-- Em sábado, 31 de maio de 2014 11h43min51s UTC-3, Bugs_Bunny escreveu:
Pessoal, estou com o seguinte problema.Tenho um ViewPager com 4 abas, quando mudo da primeira para a última e volto para a primeira sem passar pelas outras abas minha primeira aba fica em branco.Até onde entendi o PagerAdapter mantem em memoria somente 3 paginas e meu Fragment é destruido quando vou para a última aba. Eu poderia utilizar o mViewPager.setOffscreenPageLimit(3); para manter todas as abas em memoria, mas acredito que essa não seja a melhor pratica, então eu pergunto..o que devo fazer? Abaixo está um exemplo do que eu estou fazendo nos meus fragments...private static final int PERIOD_LOADER_ID = ++sLoaderCounter;private Long mPeriodId;private CursorAdapter mSpinnerAdapter;private LoaderManager.LoaderCallbacks<Cursor> mPeriodLoader = new LoaderManager.LoaderCallbacks< Cursor>() { @Overridepublic Loader<Cursor> onCreateLoader(int id, Bundle args) {return PeriodBean.getLoader();}@Overridepublic void onLoadFinished(Loader<Cursor> loader, Cursor data) {mSpinnerAdapter.swapCursor(data); }@Overridepublic void onLoaderReset(Loader<Cursor> loader) {mSpinnerAdapter.swapCursor(null); }};private ActionBar.OnNavigationListener mOnNavigationCallbacks = new ActionBar.OnNavigationListener() { @Overridepublic boolean onNavigationItemSelected(int position, long id) {mPeriodId = id;// Reload a listview in the content area to show only the current period classesgetLoaderManager().restartLoader(LOADER_ID, null, ModalityClassesManagmentFragme nt.this); return true;}};@Overridepublic void setUserVisibleHint(boolean isVisibleToUser) {super.setUserVisibleHint(isVisibleToUser); if (null != getActivity()) {setupActionBar(isVisibleToUser); }}private void setupActionBar(boolean isVisibleToUser) {ActionBar actionBar = ((ActionBarActivity) getActivity()).getSupportActionBar(); if (isVisibleToUser) {actionBar.setDisplayShowTitleEnabled( false); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_ LIST); actionBar.setListNavigationCallbacks( mSpinnerAdapter, mOnNavigationCallbacks); } else {actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_ STANDARD); actionBar.setDisplayShowTitleEnabled( true); }}@Overridepublic void onDestroy() {super.onDestroy();getLoaderManager().destroyLoader(PERIOD_LOADER_ ID); }@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);mPeriodId = SettingsBean.getCurrentPeriodId(); ModalityRest.getInstance().get(new SuperCallback<List< ModalityBean>>()); ModalityClassRest.getInstance().get(new SuperCallback<List< ModalityClassBean>>()); PeriodRest.getInstance().get(new SuperCallback<List<PeriodBean> >()); setHasOptionsMenu(true);ActionBar actionBar = ((ActionBarActivity) getActivity()).getSupportActionBar(); mSpinnerAdapter = new PeriodAdapter(actionBar.getThemedContext()); getLoaderManager().initLoader(PERIOD_LOADER_ID, null, mPeriodLoader); }...
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
0 comentários:
Postar um comentário