|
@@ -1,23 +1,24 @@
|
|
|
-package de.tudarmstadt.informatik.hostage.ui2;
|
|
|
+package de.tudarmstadt.informatik.hostage.ui2.activity;
|
|
|
|
|
|
import android.app.ActionBar;
|
|
|
import android.app.Activity;
|
|
|
+import android.app.Fragment;
|
|
|
+import android.app.FragmentManager;
|
|
|
import android.content.res.Configuration;
|
|
|
import android.os.Bundle;
|
|
|
import android.support.v4.app.ActionBarDrawerToggle;
|
|
|
import android.support.v4.widget.DrawerLayout;
|
|
|
-import android.view.Menu;
|
|
|
import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
import android.widget.AdapterView;
|
|
|
-import android.widget.ArrayAdapter;
|
|
|
import android.widget.ListView;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
import de.tudarmstadt.informatik.hostage.R;
|
|
|
import de.tudarmstadt.informatik.hostage.ui2.adapter.DrawerListAdapter;
|
|
|
-import de.tudarmstadt.informatik.hostage.ui2.adapter.DrawerListItem;
|
|
|
+import de.tudarmstadt.informatik.hostage.ui2.fragment.HomeFragment;
|
|
|
+import de.tudarmstadt.informatik.hostage.ui2.model.DrawerListItem;
|
|
|
|
|
|
/**
|
|
|
* @author Alexander Brakowski
|
|
@@ -31,6 +32,8 @@ public class MainActivity extends Activity {
|
|
|
private CharSequence mDrawerTitle;
|
|
|
private CharSequence mTitle;
|
|
|
|
|
|
+ private ArrayList<DrawerListItem> drawerItems;
|
|
|
+
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
@@ -45,15 +48,15 @@ public class MainActivity extends Activity {
|
|
|
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
|
|
|
mDrawerList = (ListView) findViewById(R.id.left_drawer);
|
|
|
|
|
|
- ArrayList<DrawerListItem> lst = new ArrayList<DrawerListItem>();
|
|
|
- lst.add(new DrawerListItem(R.string.drawer_overview, R.drawable.ic_menu_home));
|
|
|
- lst.add(new DrawerListItem(R.string.drawer_threat_map, R.drawable.ic_menu_mapmode));
|
|
|
- lst.add(new DrawerListItem(R.string.drawer_records, R.drawable.ic_menu_gallery));
|
|
|
- lst.add(new DrawerListItem(R.string.drawer_services, R.drawable.ic_menu_set_as));
|
|
|
- lst.add(new DrawerListItem(R.string.drawer_settings, R.drawable.ic_menu_settings_holo_light));
|
|
|
- lst.add(new DrawerListItem(R.string.drawer_app_info, R.drawable.ic_menu_info_details));
|
|
|
+ drawerItems = new ArrayList<DrawerListItem>();
|
|
|
+ drawerItems.add(new DrawerListItem(R.string.drawer_overview, R.drawable.ic_menu_home));
|
|
|
+ drawerItems.add(new DrawerListItem(R.string.drawer_threat_map, R.drawable.ic_menu_mapmode));
|
|
|
+ drawerItems.add(new DrawerListItem(R.string.drawer_records, R.drawable.ic_menu_gallery));
|
|
|
+ drawerItems.add(new DrawerListItem(R.string.drawer_services, R.drawable.ic_menu_set_as));
|
|
|
+ drawerItems.add(new DrawerListItem(R.string.drawer_settings, R.drawable.ic_menu_settings_holo_light));
|
|
|
+ drawerItems.add(new DrawerListItem(R.string.drawer_app_info, R.drawable.ic_menu_info_details));
|
|
|
|
|
|
- DrawerListAdapter listAdapter = new DrawerListAdapter(this, lst);
|
|
|
+ DrawerListAdapter listAdapter = new DrawerListAdapter(this, drawerItems);
|
|
|
|
|
|
mDrawerList.setAdapter(listAdapter);
|
|
|
mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
|
|
@@ -79,6 +82,11 @@ public class MainActivity extends Activity {
|
|
|
}
|
|
|
};
|
|
|
mDrawerLayout.setDrawerListener(mDrawerToggle);
|
|
|
+
|
|
|
+ if (savedInstanceState == null) {
|
|
|
+ // on first time display view for first nav item
|
|
|
+ displayView(0);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -117,10 +125,34 @@ public class MainActivity extends Activity {
|
|
|
mDrawerToggle.onConfigurationChanged(newConfig);
|
|
|
}
|
|
|
|
|
|
+ private void displayView(int position) {
|
|
|
+ // update the main content by replacing fragments
|
|
|
+ Fragment fragment = null;
|
|
|
+ switch (position) {
|
|
|
+ case 0:
|
|
|
+ fragment = new HomeFragment();
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (fragment != null) {
|
|
|
+ FragmentManager fragmentManager = getFragmentManager();
|
|
|
+ fragmentManager.beginTransaction()
|
|
|
+ .replace(R.id.content_frame, fragment).commit();
|
|
|
+
|
|
|
+ // update selected item and title, then close the drawer
|
|
|
+ mDrawerList.setItemChecked(position, true);
|
|
|
+ mDrawerList.setSelection(position);
|
|
|
+ setTitle(drawerItems.get(position).text);
|
|
|
+ mDrawerLayout.closeDrawer(mDrawerList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private class DrawerItemClickListener implements ListView.OnItemClickListener {
|
|
|
@Override
|
|
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
|
|
-
|
|
|
+ displayView(position);
|
|
|
}
|
|
|
}
|
|
|
}
|