I have a viewpager with a fragments slide, I need to know which one is on the screen to return some results to the correct fields. How to know what is on the screen?
Here are codes:
//Activity
public class ActivityAtendimentoTab extends AppCompatActivity{
    private ResultFragmentsCondutas resultFragmentsCondutas;
    //método para que possa ser passado os valores falados para os fragments.
    public interface ResultFragmentsCondutas {
        void showCondutaResults(ArrayList<String> results);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_atendimento_tab);
......
        vpPager = (ViewPager) findViewById(R.id.vpPager);
        adapterViewPager = new MyPagerAdapter(getSupportFragmentManager());
        vpPager.setAdapter(adapterViewPager);
        vpPager.addOnPageChangeListener(viewPagerPageChangeListener);
..
   }
}
Below, viewpager, which is a innerclass:
    //ViewPager inner class ActivityAtendimentoTab
    public static class MyPagerAdapter extends FragmentPagerAdapter {
        private static int NUM_ITEMS = 2;
        public MyPagerAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);
        }
        // Returns total number of pages
        @Override
        public int getCount() {
            return NUM_ITEMS;
        }
        // Returns the fragment to display for that page
        @Override
        public Fragment getItem(int position) {
            switch (position) {
                case 0: // Fragment # 0 - This will show FirstFragment
                    return new FragmentAvaliacao();
                case 1: // Fragment # 0 - This will show FirstFragment different title
                    return new FragmentReceita()
                default:
                    return null;
            }
        }
        // Returns the page title for the top indicator
        @Override
        public CharSequence getPageTitle(int position) {
            return "Page " + position;
        }
    }
I need to know which of these are on the screen to return some results, from an interface. Follow the code:
@Override
public void onResults(Bundle results) {
    //inicializando as variáveis de fragments
    av = (FragmentAvaliacao) getSupportFragmentManager().findFragmentByTag(getString(R.string.tag_fragment_avaliacao));//NULL
    //pegando a lista de comandos
    ArrayList<String> matches = results
            .getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
    //Verifica qual fragment está chamando a interface
    //e passa o valor da string para que seja implementada nos respectivos campos.
    try {
        if (vpPager.getCurrentItem() == 0) {//TRUE
            resultFragmentsCondutas = av;
            resultFragmentsCondutas.showCondutaResults(matches);
}
How do I initialize av (example), is always null.
