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;
* 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[] {
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");
+ }},
};
}
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<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);
+ }
+ }
+
}