Я пытаюсь составить приложение-руководство, в котором пользователь может совершить экскурсию.В моем приложении у меня есть Tablayout, который содержит 5 вкладок (фрагменты).Теперь пользователь совершает обход 1-й вкладки (вкладка «0 позиций»), затем после завершения 1-го тура вкладок будет автоматически выделена 2-я вкладка (1 позиция).
Но я не могу выделить 2-ю вкладку (1 позиция) после того, какзавершение 1-й табл.Я новичок в Руководстве по приложениям для Android.
// Fragment contains 5 tabs
public class DashboardFragment extends Fragment {
private Toolbar toolbar;
private TabLayout tabLayout;
private CustomViewPager viewPager;
public static DashboardFragment newInstance() {
DashboardFragment f = new DashboardFragment();
return f;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup
container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dashboard_activity, container,
false);
init(view);
return view;
}
void init(View view) {
viewPager = (CustomViewPager)
view.findViewById(R.id.viewpager_dashboard);
setupViewPager(viewPager);
viewPager.setCurrentItem(0);
viewPager.setOffscreenPageLimit(5);
tabLayout = (TabLayout) view.findViewById(R.id.tab_dashboard);
tabLayout.setupWithViewPager(viewPager);
MyTextView tabRank= (MyTextView)
LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabRank.setText(getResources().getString(R.string.tab_one_text));
MyTextView tabBV= (MyTextView)
LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabBV.setText(getResources().getString(R.string.tab_two_text));
MyTextView tabIncome= (MyTextView) LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabIncome.setText(getResources().getString(R.string.tab_three_text));
MyTextView tabOther= (MyTextView) LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabOther.setText(getResources().getString(R.string.tab_four_text));
MyTextView tabLocation= (MyTextView) LayoutInflater.from(getActivity()).inflate(R.layout.custom_tab, null);
tabLocation.setText(getResources().getString(R.string.tab_five_text));
tabLayout.getTabAt(0).setCustomView(tabOne);
tabLayout.getTabAt(1).setCustomView(tabTwo);
tabLayout.getTabAt(2).setCustomView(tabThree);
tabLayout.getTabAt(3).setCustomView(tabFour);
tabLayout.getTabAt(4).setCustomView(tabFive);
// tabLayout.getTabAt(0).select();
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
adapter.addFragment(new TabOne(), getResources().getString(R.string.tab_one));
adapter.addFragment(new TabTwo(), getResources().getString(R.string.tab_two));
adapter.addFragment(new TabThree(), getResources().getString(R.string.tab_three));
adapter.addFragment(new TabFour(), getResources().getString(R.string.tab_four));
adapter.addFragment(new TabFive(), getResources().getString(R.string.tab_five));
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
}
Класс фрагмента с одной вкладкой
public class TabOneFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_one_fragment, container, false);
return view;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
session = new Session(getActivity());
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
mContext = context;
}
}
Я ищу, когда пользователь на первой вкладке, а затем на второй вкладке выделяется как showcaseview для справки https://github.com/deano2390/MaterialShowcaseView