@Override public boolean onOptionsItemSelected(MenuItem menuItem) { switch (menuItem.getItemId()) { case R.id.menu_item_new_memory: Memory memory = new Memory(); try { MemoryList.get(getActivity()).addMemory(memory); } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } Intent i = new Intent(getActivity(), MemoryPagerActivity.class); i.putExtra(MemoryFragment.EXTRA_MEMORY_ID, memory.getMemoryId()); startActivityForResult(i, MEMORY_RETURN); Toast.makeText(getActivity(), "New Memory is created", Toast.LENGTH_LONG).show(); return true; case R.id.menu_item_show_subtitle: if (getActivity().getActionBar().getSubtitle() == null) { getActivity().getActionBar().setSubtitle(R.string.Subtitle); menuItem.setTitle(R.string.hide_subtitle); subtitleVisability = true; } else { getActivity().getActionBar().setSubtitle(null); menuItem.setTitle(R.string.show_subtitle); subtitleVisability = false; } return true; default: return super.onOptionsItemSelected(menuItem); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); setRetainInstance(true); subtitleVisability = false; getActivity().setTitle(R.id.memories_Title); try { memories = MemoryList.get(getActivity()).getMemories(); } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } // ArrayAdapter<Memory> arrayAdapter = new // ArrayAdapter<Memory>(getActivity(),android.R.layout.simple_list_item_1,memories); // setListAdapter(arrayAdapter); MemoryAdapter memoryAdapter = new MemoryAdapter(memories); setListAdapter(memoryAdapter); }
@Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); int position = info.position; MemoryAdapter memoryAdapter = (MemoryAdapter) getListAdapter(); Memory memory = memoryAdapter.getItem(position); switch (item.getItemId()) { case R.id.menu_item_delete_memory: try { MemoryList.get(getActivity()).deleteMemory(memory); } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } memoryAdapter.notifyDataSetChanged(); return true; } return super.onContextItemSelected(item); }