Advertisement
Guest User

Untitled

a guest
Mar 6th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.42 KB | None | 0 0
  1. mDrawerList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mDrawerListItems));
  2. mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener()
  3.  
  4. package com.example.lehi.byu_idahomaps;
  5.  
  6. import android.content.res.Configuration;
  7. import android.os.Bundle;
  8. import android.support.v4.widget.DrawerLayout;
  9. import android.support.v7.app.ActionBarActivity;
  10. import android.support.v7.app.ActionBarDrawerToggle;
  11. import android.support.v7.widget.Toolbar;
  12. import android.view.MenuItem;
  13. import android.view.View;
  14. import android.widget.AdapterView;
  15. import android.widget.ArrayAdapter;
  16. import android.widget.ListView;
  17. import android.widget.Toast;
  18. import android.widget.PopupMenu;
  19. import android.view.MenuInflater;
  20.  
  21.  
  22. import com.google.android.gms.maps.CameraUpdate;
  23. import com.google.android.gms.maps.CameraUpdateFactory;
  24. import com.google.android.gms.maps.GoogleMap;
  25. import com.google.android.gms.maps.MapFragment;
  26. import com.google.android.gms.maps.model.LatLng;
  27. import com.google.android.gms.maps.model.Marker;
  28. import com.google.android.gms.maps.model.MarkerOptions;
  29.  
  30. public class MapsActivity extends ActionBarActivity implements PopupMenu.OnMenuItemClickListener {
  31.  
  32. // Locations for all buildings on campus.
  33. private final LatLng LOCATION_CAMPUS = new LatLng(43.815489, -111.783012);
  34. private final LatLng LOCATION_SMITH = new LatLng(43.819230, -111.781481);
  35. private final LatLng LOCATION_HART = new LatLng(43.819780, -111.785261);
  36. private final LatLng LOCATION_RICKS = new LatLng(43.815120, -111.781303);
  37. private final LatLng LOCATION_AUSTIN = new LatLng(43.816018, -111.784543);
  38. private final LatLng LOCATION_ICENTER = new LatLng(43.818782, -111.785176);
  39. private final LatLng LOCATION_BENSON = new LatLng(43.815569, -111.783255);
  40. private final LatLng LOCATION_CLARKE = new LatLng(43.820492, -111.781796);
  41. private final LatLng LOCATION_HEALTH = new LatLng(43.817017, -111.779275);
  42. private final LatLng LOCATION_HINCKLEY = new LatLng(43.816080, -111.779876);
  43. private final LatLng LOCATION_KIMBALL = new LatLng(43.817249, -111.781506);
  44. private final LatLng LOCATION_KIRKHAM = new LatLng(43.821336, -111.781657);
  45. private final LatLng LOCATION_MC = new LatLng(43.818619, -111.782611);
  46. private final LatLng LOCATION_MCKAY = new LatLng(43.819587, -111.783159);
  47. private final LatLng LOCATION_ROMNEY = new LatLng(43.820423, -111.783148);
  48. private final LatLng LOCATION_SNOW = new LatLng(43.821414, -111.783652);
  49. private final LatLng LOCATION_SPORI = new LatLng(43.821019, -111.782300);
  50. private final LatLng LOCATION_TAYLOR = new LatLng(43.817171, -111.782408);
  51.  
  52. // Our map
  53. private GoogleMap map; // Might be null if Google Play services APK is not available.
  54. // Our marker object
  55. Marker marker;
  56.  
  57. DrawerLayout mDrawerLayout;
  58. ListView mDrawerList;
  59. ActionBarDrawerToggle mDrawerToggle;
  60. String[] mDrawerListItems;
  61.  
  62. //Creates the map, sets it to the campus location, and turns on your location
  63. @Override
  64. protected void onCreate(Bundle savedInstanceState) {
  65. super.onCreate(savedInstanceState);
  66. setContentView(R.layout.activity_maps);
  67.  
  68. map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
  69. CameraUpdate start = CameraUpdateFactory.newLatLngZoom(LOCATION_CAMPUS, 15);
  70. map.moveCamera(start);
  71. map.setMyLocationEnabled(true);
  72.  
  73. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  74. mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer);
  75. mDrawerList = (ListView)findViewById(android.R.id.list);
  76. mDrawerListItems = getResources().getStringArray(R.array.drawer_list);
  77. mDrawerList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mDrawerListItems));
  78. mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  79. @Override
  80. public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  81. int editedPosition = position + 1;
  82. Toast.makeText(MapsActivity.this, "You selected item " + editedPosition, Toast.LENGTH_SHORT).show();
  83. mDrawerLayout.closeDrawer(mDrawerList);
  84. }
  85. });
  86. mDrawerToggle = new ActionBarDrawerToggle(this,
  87. mDrawerLayout,
  88. toolbar,
  89. R.string.drawer_open,
  90. R.string.drawer_close) {
  91. public void onDrawerClosed(View v) {
  92. super.onDrawerClosed(v);
  93. invalidateOptionsMenu();
  94. syncState();
  95. }
  96.  
  97. public void onDrawerOpened(View v) {
  98. super.onDrawerOpened(v);
  99. invalidateOptionsMenu();
  100. syncState();
  101. }
  102. };
  103. mDrawerLayout.setDrawerListener(mDrawerToggle);
  104. setSupportActionBar(toolbar);
  105. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  106. getSupportActionBar().setHomeButtonEnabled(true);
  107. mDrawerToggle.syncState();
  108. }
  109.  
  110. @Override
  111. protected void onPostCreate(Bundle savedInstanceState) {
  112. super.onPostCreate(savedInstanceState);
  113. mDrawerToggle.syncState();
  114. }
  115.  
  116. @Override
  117. public void onConfigurationChanged(Configuration newConfig) {
  118. super.onConfigurationChanged(newConfig);
  119. mDrawerToggle.onConfigurationChanged(newConfig);
  120. }
  121.  
  122. @Override
  123. public boolean onOptionsItemSelected(MenuItem item) {
  124. switch (item.getItemId()) {
  125. case android.R.id.home: {
  126. if (mDrawerLayout.isDrawerOpen(mDrawerList)) {
  127. mDrawerLayout.closeDrawer(mDrawerList);
  128. } else {
  129. mDrawerLayout.openDrawer(mDrawerList);
  130. }
  131. return true;
  132. }
  133. default:
  134. return super.onOptionsItemSelected(item);
  135. }
  136. }
  137.  
  138.  
  139. public void showPopUp(View v) {
  140. PopupMenu popup = new PopupMenu(this, v);
  141. popup.setOnMenuItemClickListener(MapsActivity.this);
  142. MenuInflater inflater = popup.getMenuInflater();
  143. inflater.inflate(R.menu.popup, popup.getMenu());
  144. popup.show();
  145. }
  146.  
  147. @Override
  148. protected void onResume() {
  149. super.onResume();
  150. }
  151.  
  152.  
  153. @Override
  154. public boolean onMenuItemClick(MenuItem item) {
  155. CameraUpdate update;
  156. switch (item.getItemId()) {
  157. case R.id.austin:
  158. if (marker != null) {
  159. marker.remove();
  160. }
  161. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  162. update = CameraUpdateFactory.newLatLngZoom(LOCATION_AUSTIN, 18);
  163. marker = map.addMarker(new MarkerOptions()
  164. .position(LOCATION_AUSTIN)
  165. .title("Mark Austin")
  166. .snippet("College of Physical Sciences & Engineering"));
  167. map.animateCamera(update);
  168. return true;
  169.  
  170. case R.id.icenter:
  171. if (marker != null) {
  172. marker.remove();
  173. }
  174. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  175. update = CameraUpdateFactory.newLatLngZoom(LOCATION_ICENTER, 18);
  176. marker = map.addMarker(new MarkerOptions()
  177. .position(LOCATION_ICENTER)
  178. .title("BYU-I Center"));
  179. map.animateCamera(update);
  180. return true;
  181.  
  182. case R.id.benson:
  183. if (marker != null) {
  184. marker.remove();
  185. }
  186. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  187. update = CameraUpdateFactory.newLatLngZoom(LOCATION_BENSON, 18);
  188. marker = map.addMarker(new MarkerOptions()
  189. .position(LOCATION_BENSON)
  190. .title("Ezra Taft Benson")
  191. .snippet("College of Agriculture and Life Sciences"));
  192. map.animateCamera(update);
  193. return true;
  194.  
  195. case R.id.clarke:
  196. if (marker != null) {
  197. marker.remove();
  198. }
  199. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  200. update = CameraUpdateFactory.newLatLngZoom(LOCATION_CLARKE, 18);
  201. marker = map.addMarker(new MarkerOptions()
  202. .position(LOCATION_CLARKE)
  203. .title("John L. Clarke"));
  204. map.animateCamera(update);
  205. return true;
  206.  
  207. case R.id.hart:
  208. if (marker != null) {
  209. marker.remove();
  210. }
  211. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  212. update = CameraUpdateFactory.newLatLngZoom(LOCATION_HART, 19);
  213. marker = map.addMarker(new MarkerOptions()
  214. .position(LOCATION_HART)
  215. .title("John W. Hart"));
  216. map.animateCamera(update);
  217. return true;
  218.  
  219. case R.id.health:
  220. if (marker != null) {
  221. marker.remove();
  222. }
  223. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  224. update = CameraUpdateFactory.newLatLngZoom(LOCATION_HEALTH, 18);
  225. marker = map.addMarker(new MarkerOptions()
  226. .position(LOCATION_HEALTH)
  227. .title("Student Health Center"));
  228. map.animateCamera(update);
  229. return true;
  230.  
  231. case R.id.hinckley:
  232. if (marker != null) {
  233. marker.remove();
  234. }
  235. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  236. update = CameraUpdateFactory.newLatLngZoom(LOCATION_HINCKLEY, 18);
  237. marker = map.addMarker(new MarkerOptions()
  238. .position(LOCATION_HINCKLEY)
  239. .title("Gordan B. Hinckley")
  240. .snippet("College of Education & Human Development"));
  241. map.animateCamera(update);
  242. return true;
  243.  
  244. case R.id.kimball:
  245. if (marker != null) {
  246. marker.remove();
  247. }
  248. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  249. update = CameraUpdateFactory.newLatLngZoom(LOCATION_KIMBALL, 18);
  250. marker = map.addMarker(new MarkerOptions()
  251. .position(LOCATION_KIMBALL)
  252. .title("Spencer W. Kimball"));
  253. map.animateCamera(update);
  254. return true;
  255.  
  256. case R.id.kirkham:
  257. if (marker != null) {
  258. marker.remove();
  259. }
  260. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  261. update = CameraUpdateFactory.newLatLngZoom(LOCATION_KIRKHAM, 18);
  262. marker = map.addMarker(new MarkerOptions()
  263. .position(LOCATION_KIRKHAM)
  264. .title("Oscar A. Kirkham"));
  265. map.animateCamera(update);
  266. return true;
  267.  
  268. case R.id.mc:
  269. if (marker != null) {
  270. marker.remove();
  271. }
  272. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  273. update = CameraUpdateFactory.newLatLngZoom(LOCATION_MC, 18);
  274. marker = map.addMarker(new MarkerOptions()
  275. .position(LOCATION_MC)
  276. .title("Hyrum Manwaring"));
  277. map.animateCamera(update);
  278. return true;
  279.  
  280. case R.id.mckay:
  281. if (marker != null) {
  282. marker.remove();
  283. }
  284. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  285. update = CameraUpdateFactory.newLatLngZoom(LOCATION_MCKAY, 18);
  286. marker = map.addMarker(new MarkerOptions()
  287. .position(LOCATION_MCKAY)
  288. .title("David O. McKay Library"));
  289. map.animateCamera(update);
  290. return true;
  291.  
  292. case R.id.ricks:
  293. if (marker != null) {
  294. marker.remove();
  295. }
  296. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  297. update = CameraUpdateFactory.newLatLngZoom(LOCATION_RICKS, 19);
  298. marker = map.addMarker(new MarkerOptions()
  299. .position(LOCATION_RICKS)
  300. .title("Thomas E. Ricks"));
  301. map.animateCamera(update);
  302. return true;
  303.  
  304. case R.id.romney:
  305. if (marker != null) {
  306. marker.remove();
  307. }
  308. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  309. update = CameraUpdateFactory.newLatLngZoom(LOCATION_ROMNEY, 18);
  310. marker = map.addMarker(new MarkerOptions()
  311. .position(LOCATION_ROMNEY)
  312. .title("George S. Romney"));
  313. map.animateCamera(update);
  314. return true;
  315.  
  316. case R.id.smith:
  317. if (marker != null) {
  318. marker.remove();
  319. }
  320. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  321. update = CameraUpdateFactory.newLatLngZoom(LOCATION_SMITH, 19);
  322. map.animateCamera(update);
  323. marker = map.addMarker(new MarkerOptions()
  324. .position(LOCATION_SMITH)
  325. .title("Joseph Fielding Smith")
  326. .snippet("College of Business and Communicationn" +
  327. "College of Language & Letters"));
  328. return true;
  329.  
  330. case R.id.snow:
  331. if (marker != null) {
  332. marker.remove();
  333. }
  334. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  335. update = CameraUpdateFactory.newLatLngZoom(LOCATION_SNOW, 18);
  336. marker = map.addMarker(new MarkerOptions()
  337. .position(LOCATION_SNOW)
  338. .title("Eliza R. Snow"));
  339. map.animateCamera(update);
  340. return true;
  341.  
  342. case R.id.spori:
  343. if (marker != null) {
  344. marker.remove();
  345. }
  346. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  347. update = CameraUpdateFactory.newLatLngZoom(LOCATION_SPORI, 18);
  348. marker = map.addMarker(new MarkerOptions()
  349. .position(LOCATION_SPORI)
  350. .title("Jacob Spori")
  351. .snippet("College of Performing & Visual Arts"));
  352. map.animateCamera(update);
  353. return true;
  354.  
  355. case R.id.taylor:
  356. if (marker != null) {
  357. marker.remove();
  358. }
  359. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  360. update = CameraUpdateFactory.newLatLngZoom(LOCATION_TAYLOR, 18);
  361. marker = map.addMarker(new MarkerOptions()
  362. .position(LOCATION_TAYLOR)
  363. .title("Taylor"));
  364. map.animateCamera(update);
  365. return true;
  366.  
  367. default:
  368. if (marker != null) {
  369. marker.remove();
  370. }
  371. map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  372. update = CameraUpdateFactory.newLatLngZoom(LOCATION_CAMPUS, 15);
  373. map.animateCamera(update);
  374. return true;
  375. }
  376.  
  377. }
  378.  
  379. }
  380.  
  381. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  382. xmlns:tools="http://schemas.android.com/tools"
  383. android:layout_width="match_parent"
  384. android:layout_height="match_parent"
  385. tools:context=".MapsActivity"
  386. android:orientation="vertical">
  387.  
  388.  
  389. <android.support.v7.widget.Toolbar
  390. android:id="@+id/toolbar"
  391. android:layout_width="match_parent"
  392. android:layout_height="?attr/actionBarSize"
  393. xmlns:android="http://schemas.android.com/apk/res/android" />
  394.  
  395.  
  396. <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
  397. android:id="@+id/drawer"
  398. android:layout_width="match_parent"
  399. android:layout_height="match_parent" >
  400.  
  401.  
  402. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  403. xmlns:tools="http://schemas.android.com/tools"
  404. android:layout_width="match_parent"
  405. android:layout_height="match_parent"
  406. tools:context=".MapsActivity"
  407. android:clickable="false"
  408. android:background="#2a6ebb"
  409. android:orientation="vertical">
  410.  
  411. <ImageButton
  412. xmlns:android="http://schemas.android.com/apk/res/android"
  413. xmlns:tools="http://schemas.android.com/tools"
  414. android:id="@+id/btnmenu"
  415. android:layout_width="71dp"
  416. android:layout_height="65dp"
  417. android:src="@drawable/abc_ic_menu_moreoverflow_mtrl_alpha"
  418. android:onClick="showPopUp"
  419. android:background="#2a6ebb"
  420. android:contentDescription="Slide out menu button" />
  421.  
  422. <TextView
  423. xmlns:android="http://schemas.android.com/apk/res/android"
  424. xmlns:tools="http://schemas.android.com/tools"
  425. android:layout_width="wrap_content"
  426. android:layout_height="53dp"
  427. android:id="@+id/edittext"
  428. android:gravity="center_vertical|center_horizontal"
  429. android:text="BYU-I Maps"
  430. android:textSize="35sp"
  431. android:textIsSelectable="false"
  432. android:layout_gravity="center_horizontal"
  433. android:layout_above="@+id/map"
  434. android:layout_centerHorizontal="true"
  435. android:layout_alignParentTop="true" />
  436.  
  437. <fragment
  438. xmlns:android="http://schemas.android.com/apk/res/android"
  439. xmlns:tools="http://schemas.android.com/tools"
  440. android:id="@+id/map"
  441. android:name="com.google.android.gms.maps.MapFragment"
  442. android:layout_width="match_parent"
  443. android:layout_height="match_parent"
  444. android:layout_below="@+id/btnmenu" />
  445. </RelativeLayout>
  446.  
  447. <FrameLayout
  448. android:id="@+id/content_frame"
  449. android:layout_width="match_parent"
  450. android:layout_height="match_parent" />
  451.  
  452. <ListView
  453. android:id="@+id/list"
  454. android:layout_width="240dp"
  455. android:layout_height="match_parent"
  456. android:layout_gravity="start"
  457. android:background="#111"
  458. android:choiceMode="singleChoice"
  459. android:divider="@android:color/transparent"
  460. android:dividerHeight="0dp" />
  461.  
  462.  
  463. </android.support.v4.widget.DrawerLayout>
  464.  
  465. </LinearLayout>
  466.  
  467. 03-06 16:46:51.836 15778-15778/com.example.lehi.byu_idahomaps E/AndroidRuntime﹕ FATAL EXCEPTION: main
  468. Process: com.example.lehi.byu_idahomaps, PID: 15778
  469. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lehi.byu_idahomaps/com.example.lehi.byu_idahomaps.MapsActivity}: java.lang.NullPointerException
  470. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2438)
  471. at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2497)
  472. at android.app.ActivityThread.access$900(ActivityThread.java:168)
  473. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1306)
  474. at android.os.Handler.dispatchMessage(Handler.java:102)
  475. at android.os.Looper.loop(Looper.java:146)
  476. at android.app.ActivityThread.main(ActivityThread.java:5678)
  477. at java.lang.reflect.Method.invokeNative(Native Method)
  478. at java.lang.reflect.Method.invoke(Method.java:515)
  479. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
  480. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
  481. at dalvik.system.NativeStart.main(Native Method)
  482. Caused by: java.lang.NullPointerException
  483. at com.example.lehi.byu_idahomaps.MapsActivity.onCreate(MapsActivity.java:74)
  484. at android.app.Activity.performCreate(Activity.java:5586)
  485. at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
  486. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2402)
  487.             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2497)
  488.             at android.app.ActivityThread.access$900(ActivityThread.java:168)
  489.             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1306)
  490.             at android.os.Handler.dispatchMessage(Handler.java:102)
  491.             at android.os.Looper.loop(Looper.java:146)
  492.             at android.app.ActivityThread.main(ActivityThread.java:5678)
  493.             at java.lang.reflect.Method.invokeNative(Native Method)
  494.             at java.lang.reflect.Method.invoke(Method.java:515)
  495.             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
  496.             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
  497.             at dalvik.system.NativeStart.main(Native Method)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement