Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Получение ответа от приложения отправки email http://www.cyberforum.ru/android-dev/thread2029494.html
Всем доброго времени суток. Есть вот такой код, который вызывает приложение отправки почты (по нажатию кнопки): intent = new Intent(Intent.ACTION_SEND_MULTIPLE); intent.setType("plain/text");...
Программирование Android Custom Spinner Не могли бы вы мне рассказать, как реализовать Spinner, такой как на картинке. Сверху заголовок, справа кнопка, по нажатию на которую появляется выпадающий список. Под заголовком - элемент, выбраный... http://www.cyberforum.ru/android-dev/thread2029443.html
Программирование Android Как выполнить MultiPart запрос
Как правильно выполнить Multipart запрос через ретрофит чтобы в теле передать такую структуру { "binary": { "fileName": "string", "mediaType": "string", "buffer": "string" }...
Как добавить шрифты в TextView Программирование Android
Подскажите, как изменить шрифт текста в TextView
Программирование Android Как изменить цвета подчеркивания и курсора в EditText http://www.cyberforum.ru/android-dev/thread2029343.html
Подскажите свойство, которое поможет изменить цвет нижнего подчеркивания и курсора в EditText
Программирование Android Из EditTexr в массив Добрый день, бьюсь над задачей переноса 4-х цифр, введеных в EditText в 4-х значный одномерный массив. Как строку и как целочисленное число извлечь получается а вот как по одной цифре получить? подробнее
Starikov
13 / 15 / 5
Регистрация: 16.10.2016
Сообщений: 206
Завершенные тесты: 1
0

Tab Layout программно сменить вкладку

21.08.2017, 12:37. Просмотров 1051. Ответов 4
Метки (Все метки)

Здравствуйте формучане!
Есть фрагмент с TabLayout и c ViewPager. Он у меня запускается с двух мест в программе. У TabLayout-а есть 2 вкладки. Как сделать чтобы запуская с первого места я открывал и была открыта первая вкладка, а запуская с второго места была активна 2 вкладка?
Вот код PagerAdapter:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.starikov.assistant.pager_adapters;
 
import android.support.v4.app.ListFragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
 
import com.starikov.assistant.additional_material.AlgebraM;
import com.starikov.assistant.subjects.AlgebraF;
 
public class AlgebraPagerAdapter extends FragmentStatePagerAdapter{
 
    int mNumOfTabs;
 
    public AlgebraPagerAdapter(FragmentManager fm, int numOfTabs) {
        super(fm);
        this.mNumOfTabs = numOfTabs;
    }
 
    @Override
    public ListFragment getItem(int position) {
        switch (position) {
            case 0:
                AlgebraF tab1 = new AlgebraF();
                return tab1;
            case 1:
                AlgebraM tab2 = new AlgebraM();
                return tab2;
            default:
                return null;
        }
    }
 
    @Override
    public int getCount() {
        return mNumOfTabs;
    }
}
А вот сам фрагмент:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package com.starikov.assistant;
 
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
 
import com.starikov.assistant.pager_adapters.AlgebraPagerAdapter;
 
public class Algebra extends Fragment{
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
 
        return inflater.inflate(R.layout.algebra, container, false);
    }
 
    @Override
    public void onResume() {
        super.onResume();
        getActivity().setTitle("Алгебра");
        MainActivity.firstListFrag = true;
    }
 
    @Override
    public void onPause() {
        super.onPause();
        MainActivity.firstListFrag = false;
    }
 
    @Override
    public void onStart() {
        super.onStart();
 
        View view = getView();
 
        if(view != null) {
 
            final TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tab_layout);
            tabLayout.addTab(tabLayout.newTab().setText("Формулы"));
            tabLayout.addTab(tabLayout.newTab().setText("Дополнительный материал"));
 
            final ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager);
            final AlgebraPagerAdapter adapter = new AlgebraPagerAdapter(getActivity().getSupportFragmentManager(), tabLayout.getTabCount());
            viewPager.setAdapter(adapter);
            viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
            tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener(){
                @Override
                public void onTabSelected(TabLayout.Tab tab) {
                    viewPager.setCurrentItem(tab.getPosition());
                }
 
                @Override
                public void onTabUnselected(TabLayout.Tab tab) {
 
                }
 
                @Override
                public void onTabReselected(TabLayout.Tab tab) {
 
                }
            });
        }
    }
}
Прошу помощи!

Вернуться к обсуждению:
Tab Layout программно сменить вкладку
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2017, 12:37
Готовые ответы и решения:

Tab Layout with Swipeable Views
Делаю вкладки по этому примеру -...

Программно изменить ширину layout-а в dp
Здравствуйте, подскажите пожалуйста, как программно изменить ширину layout-а в dp? Нашел...

Как программно добавить элемент в уже существующий layout?
как программно добавить элемент в уже существующий layout? например при нажатии кнопки. нужно...

Программно сменить тип сети 2G/3G/4G
Вопрос такой возник, возможно программно менять тип сети (2G/3G/4G)?

Сменить цвет progress bar программно
Привет. Собственно сабж. Что я понял, фон прогресс бара хранится в drawable в 3-х слоях, это...

4
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru