ViewPager передача данных

190
06 апреля 2017, 18:02

Использую ViewPager с тремя фрагментами. Как сделать так чтоб при перелистывание с первого на второй фрагмент передавались туда данные. И во втором фрагменте отображались. То есть 1 фрагмент вообще не меняется(не пересоздается), а второй перерисовывает зависимости от полученных данных с первого фрагмента.

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.example.ewrei.yandexzadanie.history.Fragment_adapter_history;
public class MainActivity extends AppCompatActivity {
    private SectionsPagerAdapter mSectionsPagerAdapter;
    private ViewPager mViewPager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
        mViewPager = (ViewPager) findViewById(R.id.vpPager);
        mViewPager.setAdapter(mSectionsPagerAdapter);
    }
    public class SectionsPagerAdapter extends FragmentPagerAdapter {
        public int getItemPosition(Object object) {
            return POSITION_NONE;
        }
        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }
        @Override
        public Fragment getItem(int position) {
            switch (position) {
                case 0:
                    FragmentTransaction fragmentTransaction;
                    fragmentTransaction = getSupportFragmentManager().beginTransaction();
                    Fragment_perevod fragment_perevod = new Fragment_perevod();
                    fragmentTransaction.commit();
                    return fragment_perevod;
                case 1:
                    FragmentTransaction fragmentTransaction2;
                    fragmentTransaction2 = getSupportFragmentManager().beginTransaction();
                    Fragment_adapter_history fragment_adapter_history = new Fragment_adapter_history();
                    fragmentTransaction2.commit();
                    return fragment_adapter_history;
                case 2:
                    FragmentTransaction fragmentTransaction3;
                    fragmentTransaction3 = getSupportFragmentManager().beginTransaction();
                    Fragment_perevod fragment_perevod3 = new Fragment_perevod();
                    fragmentTransaction3.commit();
                    return fragment_perevod3;
                default:
                    return null;
            }
        }
        @Override
        public int getCount() {
            // Show 3 total pages.
            return 3;
        }
        @Override
        public CharSequence getPageTitle(int position) {
            switch (position) {
                case 0:
                    return "Переводчик";
                case 1:
                    return "История";
                case 2:
                    return "Настройки";
            }
            return null;
        }
    }
}
READ ALSO
JScrollPane при setLayout(null)

JScrollPane при setLayout(null)

Не так давно задавал вопрос про ScrollPane, но, как оказалось, ответ на него проблемы не решилПытался создать JScrollPane для JTextArea - получается только...

131
Как сделать подвал таблицы?

Как сделать подвал таблицы?

Пишу программу на языке Java и столкнулся с проблемой

212
Вопрос по NavDrawer

Вопрос по NavDrawer

ЗдравствуйтеВесь день пытаюсь внедрить NavigationDrawer в своё приложение

220