X-Git-Url: http://git.pk910.de/?p=DHBWCampusApp.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fde%2Fdhbwloe%2Fcampusapp%2Ffragments%2FVorlesungsplan.java;h=6428e632c009c8493e258decd4fdffdb4e3733b7;hp=caf8c88de80ce9314fcd64fd89cc492f778d5b14;hb=9a28e7b4c1520f629721693a04b4978fec9692e7;hpb=89252e3c22caf6dcccd0c50ad3a9282a53b5a890 diff --git a/app/src/main/java/de/dhbwloe/campusapp/fragments/Vorlesungsplan.java b/app/src/main/java/de/dhbwloe/campusapp/fragments/Vorlesungsplan.java index caf8c88..6428e63 100644 --- a/app/src/main/java/de/dhbwloe/campusapp/fragments/Vorlesungsplan.java +++ b/app/src/main/java/de/dhbwloe/campusapp/fragments/Vorlesungsplan.java @@ -2,11 +2,21 @@ package de.dhbwloe.campusapp.fragments; import android.os.Bundle; +import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + import de.dhbwloe.campusapp.CampusAppFragment; import de.dhbwloe.campusapp.R; import de.dhbwloe.campusapp.search.SearchIndices; @@ -15,6 +25,10 @@ import de.dhbwloe.campusapp.search.SearchIndices; * A simple {@link Fragment} subclass. */ public class Vorlesungsplan extends CampusAppFragment { + public interface VorlesungsplanFragment { + void setActive(); + } + /* implement this for search results ;) */ public static SearchIndices[] GetSearchIndices() { return new SearchIndices[] { @@ -25,6 +39,13 @@ public class Vorlesungsplan extends CampusAppFragment { setDescription("Vorlesungsplan dienes Kurses"); addKeyWord("vorlesung, vorlesungen, plan, vorlesungsplan, stundenplan, termin, termine, kursplan, blockplan, block, zeit, zeiten"); }}, + new SearchIndices("Vorlesungsplan", true) {{ + setUpdateTime(1); + setTarget("#Vorlesungsplan#view=exams"); + setTitle("Vorlesungsplan"); + setDescription("Klausurübersicht dienes Kurses"); + addKeyWord("klausuren, prüfungen, exams, termine, zeitpunkt, plan, ergebnisse"); + }}, }; } @@ -34,7 +55,75 @@ public class Vorlesungsplan extends CampusAppFragment { View view = inflater.inflate(R.layout.fragment_vorlesungsplan, container, false); AppContext.setTitle("Vorlesungsplan"); + ViewPager pager = (ViewPager) view.findViewById(R.id.viewpager); + setupViewPager(pager); + + TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabs); + tabLayout.setupWithViewPager(pager); + return view; } + private void setupViewPager(ViewPager viewPager) { + final ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager()); + + adapter.addFragment(new VorlesungsplanUpcoming(), AppContext.getResString(R.string.vorlesungsplan_upcoming)); + adapter.addFragment(new VorlesungsplanGroups(), AppContext.getResString(R.string.vorlesungsplan_groups)); + adapter.addFragment(new VorlesungsplanExams(), AppContext.getResString(R.string.vorlesungsplan_exams)); + + viewPager.setAdapter(adapter); + viewPager.setCurrentItem(0); + + VorlesungsplanFragment fragment = (VorlesungsplanFragment)adapter.getItem(0); + fragment.setActive(); + + + viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + + } + + @Override + public void onPageSelected(int position) { + VorlesungsplanFragment fragment = (VorlesungsplanFragment)adapter.getItem(position); + fragment.setActive(); + } + + @Override + public void onPageScrollStateChanged(int state) { + + } + }); + } + + class ViewPagerAdapter extends FragmentPagerAdapter { + private final List mFragmentList = new ArrayList<>(); + private final List 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); + } + } + }