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("Vorlesungsplan");
39 setDescription("Vorlesungsplan dienes Kurses");
40 addKeyWord("vorlesung, vorlesungen, plan, vorlesungsplan, stundenplan, termin, termine, kursplan, blockplan, block, zeit, zeiten");
42 new SearchIndices("Vorlesungsplan", true) {{
44 setTarget("#Vorlesungsplan#view=exams");
45 setTitle("Vorlesungsplan");
46 setDescription("Klausurübersicht dienes Kurses");
47 addKeyWord("klausuren, prüfungen, exams, termine, zeitpunkt, plan, ergebnisse");
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("Vorlesungsplan");
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);