ViewPager onPageSelected para a primeira página
Portanto, parece que ao usar um ViewPager, o ouvinte onPageSelected não é chamado para a primeira página do mesmo problemaisto.
Eu tenho uma lógica que preenche alguns elementos de interface do usuário mais caros para a página atualmente selecionada e isso funciona quando a página é alterada, masit doesn't work for the first page.
Se eu definir o item atual após o ouvinte, o retorno de chamada será acionado para a primeira página, mas a visualização ainda não foi inicializada, por isso não posso manipulá-la:
// Inside PagerAdapter.instantiateItem
ViewHolder vh = new ViewHolder();
cursor.moveToPosition(position);
vh.view = adapter.newView(context, cursor, null);
// Set position as tag so we can retrieve it with findViewByTag
vh.view.setTag(position);
((ViewPager) collection).addView(vh.view,0);
return vh;
// Inside MyActivity.onCreate
pagerAdapter = new SingleMessagePagerAdapter(this, cursor);
pager = (ViewPager)findViewById(R.id.message_pager);
pager.setAdapter(pagerAdapter);
pager.setOnPageSelectedListener(this);
pager.setCurrentItem(selectedItem);
// Inside MyActivity.onPageSelected
// Retrieve tagged view
View view = pager.findViewWithTag(position);
Aquiview
acaba sendo nulo porquePagerAdapter.instantiateItem
ainda não foi executado. Então eu acho que a minha pergunta é, em que ponto do ciclo de vida da atividade posso ter certeza de que o ViewPager inicializou a visão? Eu tentei fazer isso por dentroActivity.onAttachedToWindow
eActivity.onResume
mas parece que ambos são demitidos antesPagerAdapter.instantiateItem
.