Страница 1 из 1

Передача данных

Добавлено: 20 авг 2014, 08:50
Ramik05
Доброе времени суток! Есть активити с таб с 2 вкладками(фрагменты) и 3 класса Main и два tab fragment. Как можно с одного фрагмента передать передать в другой фрагмент данные. Обычный способ с табами не получается.

это не подходит так как сразу переключается без таб переключения

Код: Выделить всё


Intent intent = new Intent(tab1_1.this, tab1_2.class); 
            intent.putExtra(tab1_2.TEXT, "Ты торт!"); 
            startActivity(intent);


а мне надо чтобы при работе с первым фрагментом данные передавались во второй фрагмент и при переключения таб вкладки она уже была там

Как сделать так , уже 3 неделю ищу в интернете не могу найти с таб вкладками. Есть переключения таб вкладок, а передача данных нет. Помогите пожалуйста!!!

Re: Передача данных

Добавлено: 20 авг 2014, 09:49
Foenix
передачу данных между фрагментами в одной активити нужно организовывать через активити. Тут об этом есть урок.

Re: Передача данных

Добавлено: 20 авг 2014, 13:26
Ramik05
у меня 1 активити класс и 2 фрагменты класс. Мне надо передать данные с одного фрагмента класса в другой фрагмент класс.

В 1 актвити у меня таб вкладки.

Код: Выделить всё


public class MyActivity extends FragmentActivity {

    final int MENU_QUIT_ID = 1;
    private TabHost mTabHost;
    private ViewPager mViewPager;
    private TabsAdapter mTabsAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        mTabHost = (TabHost) findViewById(android.R.id.tabhost);
        mTabHost.setup();

        mViewPager = (ViewPager) findViewById(R.id.pager);

        mTabsAdapter = new TabsAdapter(this, mTabHost, mViewPager);


        mTabsAdapter.addTab(mTabHost.newTabSpec("simple").setIndicator("Вычисление"), tab1_1.class, null);
        mTabsAdapter.addTab(mTabHost.newTabSpec("contacts").setIndicator("Результат"), tab1_2.class, null);


        if (savedInstanceState != null) {
            mTabHost.setCurrentTabByTag(savedInstanceState.getString("tab"));
        }


    }


это 2 фрагменты активити

Код: Выделить всё


public class tab1_2 extends Fragment {

static final String id="";

    public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_tab2_fragment, container, false);

        return view;


    }

}

Re: Передача данных

Добавлено: 20 авг 2014, 15:00
KamiSempai
Есть на Ютюбе один полезный канал, вот плейлист про фрагменты, из него https://www.youtube.com/playlist?list=P ... SGMERcDzHo
В 8, 9 и 10 видео описаны способы коммуникации между фрагментами.
Я советую, вам, посмотреть все видео.

Помимо, слушателя, что используется в видео, можно использовать паттерн наблюдатель.
Вот еще один полезный класс: http://developer.android.com/reference/ ... nager.html

Re: Передача данных

Добавлено: 20 авг 2014, 16:09
Ramik05
Спасибо большое!!!