Java tutorial
/** * * DisplayMissionSectionsActivity.java * * Copyright $2011 Frederik Hahne * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package de.atomfrede.android.thwdroid.mission.activity; import java.util.UUID; import org.joda.time.format.DateTimeFormat; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.*; import com.actionbarsherlock.view.*; import de.atomfrede.android.thwdroid.R; import de.atomfrede.android.thwdroid.missionsection.activity.DisplayMissionSectionDetailsActivity; import de.atomfrede.android.thwdroid.missionsection.adapter.MissionSectionListAdapter; import de.usetable.ThwExtras; import de.usetable.core.ThwService; import de.usetable.model.*; public class DisplayMissionDetailsActivity extends ModelListActivity { MissionSectionListAdapter listAdapter; Mission currentMission; UUID missionId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); missionId = (UUID) getIntent().getExtras().getSerializable(ThwExtras.ELEMENT_ID); // currentMission = (Mission) getModel(missionId); // header view getListView().addHeaderView(getLayoutInflater().inflate(R.layout.mission_detail, null, true)); } @Override public void onThwServiceConnected(ThwService service) { super.onThwServiceConnected(service); } @Override public void onLoadMissionDone(Mission mission) { super.onLoadMissionDone(mission); refresh(); } public void refresh() { currentMission = (Mission) getModel(missionId); ((TextView) findViewById(R.id.description_text_view)).setText(currentMission.getDescription()); // mission data ((TextView) findViewById(R.id.mission_title)).setText(currentMission.getName()); ((TextView) findViewById(R.id.description_text_view)).setText(currentMission.getDescription()); ((TextView) findViewById(R.id.start_time_text_view)) .setText(currentMission.getStartDate().toString(DateTimeFormat.mediumDate())); String unitCount = 0 + ""; if (currentMission.getAvailableUnitList() != null) { unitCount = currentMission.getAvailableUnitList().size() + ""; } TextView freeUnitsTv = (TextView) findViewById(R.id.units_count_text_view); if (freeUnitsTv != null) freeUnitsTv.setText(unitCount); // ((TextView) findViewById(R.id.units_count_text_view)).setText(unitCount); listAdapter = new MissionSectionListAdapter(this, currentMission.getMissionSectionList(), false); setListAdapter(listAdapter); } @Override public void onResume() { super.onResume(); if (listAdapter != null) { listAdapter = new MissionSectionListAdapter(this, currentMission.getMissionSectionList(), false); setListAdapter(listAdapter); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.thwdroid_mission_details_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { super.onBackPressed(); return true; } if (item.getItemId() == R.id.menu_save) { // if (thwSvc != null) // thwSvc.saveChanges(); saveMission(); return true; } if (item.getItemId() == R.id.menu_edit) { editMission(); return true; } return false; } @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); displayMissionSectionDetails(position - 1); } private void displayMissionSectionDetails(int position) { if (position >= 0) { Intent displayMissionSectionDetailsIntent = new Intent(this, DisplayMissionSectionDetailsActivity.class); displayMissionSectionDetailsIntent.putExtra(ThwExtras.ELEMENT_ID, listAdapter.getMissionSections().get(position).getId()); startActivity(displayMissionSectionDetailsIntent); } } private void editMission() { Intent editMissionIntent = new Intent(this, EditMissionActivity.class); editMissionIntent.putExtra(ThwExtras.ELEMENT_ID, missionId); startActivity(editMissionIntent); } }