1 package de.dhbwloe.campusapp.fragments;
4 import android.os.Bundle;
5 import android.support.design.widget.TabLayout;
6 import android.support.v4.app.Fragment;
7 import android.support.v4.app.FragmentManager;
8 import android.support.v4.app.FragmentPagerAdapter;
9 import android.support.v4.view.ViewPager;
10 import android.view.LayoutInflater;
11 import android.view.View;
12 import android.view.ViewGroup;
14 import java.text.SimpleDateFormat;
15 import java.util.ArrayList;
16 import java.util.Calendar;
17 import java.util.Date;
18 import java.util.List;
20 import de.dhbwloe.campusapp.CampusAppFragment;
21 import de.dhbwloe.campusapp.R;
22 import de.dhbwloe.campusapp.search.SearchIndices;
25 * A simple {@link Fragment} subclass.
27 public class Vorlesungsplan extends CampusAppFragment {
28 public interface VorlesungsplanFragment {
32 /* implement this for search results ;) */
33 public static SearchIndices[] GetSearchIndices() {
34 return new SearchIndices[] {
35 new SearchIndices("Vorlesungsplan", true) {{
37 setTarget("#Vorlesungsplan");
38 setTitle(R.string.search_vorlesungsplan_title);
39 setDescription(R.string.search_vorlesungsplan_description);
40 addKeyWord(R.string.search_vorlesungsplan_keywords);
42 new SearchIndices("Vorlesungsplan", true) {{
44 setTarget("#Vorlesungsplan#view=exams");
45 setTitle(R.string.search_vorlesungsplan_klausur_title);
46 setDescription(R.string.search_vorlesungsplan_klausur_description);
47 addKeyWord(R.string.search_vorlesungsplan_klausur_keywords);
53 public View onCreateView(LayoutInflater inflater, ViewGroup container,
54 Bundle savedInstanceState) {
55 View view = inflater.inflate(R.layout.fragment_vorlesungsplan, container, false);
56 AppContext.setTitle(AppContext.getResString(R.string.vorlesungsplan_title));
58 ViewPager pager = (ViewPager) view.findViewById(R.id.viewpager);
59 setupViewPager(pager);
61 TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabs);
62 tabLayout.setupWithViewPager(pager);
67 private void setupViewPager(ViewPager viewPager) {
68 final ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
70 adapter.addFragment(new VorlesungsplanUpcoming(), AppContext.getResString(R.string.vorlesungsplan_upcoming));
71 adapter.addFragment(new VorlesungsplanGroups(), AppContext.getResString(R.string.vorlesungsplan_groups));
72 adapter.addFragment(new VorlesungsplanExams(), AppContext.getResString(R.string.vorlesungsplan_exams));
74 viewPager.setAdapter(adapter);
75 viewPager.setCurrentItem(0);
77 VorlesungsplanFragment fragment = (VorlesungsplanFragment)adapter.getItem(0);
81 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
83 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
88 public void onPageSelected(int position) {
89 VorlesungsplanFragment fragment = (VorlesungsplanFragment)adapter.getItem(position);
94 public void onPageScrollStateChanged(int state) {
100 class ViewPagerAdapter extends FragmentPagerAdapter {
101 private final List<Fragment> mFragmentList = new ArrayList<>();
102 private final List<String> mFragmentTitleList = new ArrayList<>();
104 public ViewPagerAdapter(FragmentManager manager) {
109 public Fragment getItem(int position) {
110 return mFragmentList.get(position);
114 public int getCount() {
115 return mFragmentList.size();
118 public void addFragment(Fragment fragment, String title) {
119 mFragmentList.add(fragment);
120 mFragmentTitleList.add(title);
124 public CharSequence getPageTitle(int position) {
125 return mFragmentTitleList.get(position);