package de.htwdd; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.view.MenuItem; import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity; import java.util.Calendar; import java.util.GregorianCalendar; import de.htwdd.fragments.RoomTimetableDetailsFragment; public class RoomTimetableDetailsActivity extends SlidingFragmentActivity implements ActionBar.TabListener { private String room; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_frame); setBehindContentView(R.layout.activity_frame); getSlidingMenu().setSlidingEnabled(false); getSupportActionBar().setDisplayHomeAsUpEnabled(false); // Hole Parameter Bundle bundle = getIntent().getExtras(); if (bundle == null || bundle.getString("room").isEmpty()) return; // Hole Raum room = bundle.getString("room"); // ActionBar anpassen, Tabs hinzufügen getSupportActionBar().removeAllTabs(); getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); getSupportActionBar().setTitle(getString(R.string.title_activity_room_timetable_details) + " " +room); int week = new GregorianCalendar().get(Calendar.WEEK_OF_YEAR); int nextweek = week==52?1:week+1; ActionBar.Tab tab, tab2; tab = getSupportActionBar().newTab(); tab.setText("aktuelle Woche (" + week + ")"); tab.setTabListener(this); getSupportActionBar().addTab(tab); tab2 = getSupportActionBar().newTab(); tab2.setText("nächste Woche (" + nextweek + ")"); tab2.setTabListener(this); getSupportActionBar().addTab(tab2); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); } } @Override public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { Fragment mContent; int week = new GregorianCalendar().get(Calendar.WEEK_OF_YEAR); int nextweek= week==52?1:week+1; Bundle bundle = new Bundle(); bundle.putString("room", room); switch (tab.getPosition()) { case 0: bundle.putInt("week", week); break; case 1: bundle.putInt("week", nextweek); break; } mContent = new RoomTimetableDetailsFragment(); mContent.setArguments(bundle); getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, mContent).commit(); } @Override public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } @Override public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } }