/** * Zeigt das Menu in Abhaengigkeit der Action. * * <p>Ist die Action == EDIT, wird im Item R.id.menu_item_create_RegelmBuchung_fromUmsatz die ID * des Umsatzes unter ID in einem Intent gespeichert. * * <p>Ist die Action == EDIT und ist es eine Umbuchung, wird unter R.id.menu_item_toUmbuchung die * ID der Gegenbuchung unter ID in einem Intent gespeichert. */ @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); Intent intent = new Intent(); inflater.inflate(R.menu.fragment_buchungen, menu); switch (getMainAction()) { case ADD: menu.findItem(R.id.menu_item_delete_Buchung).setVisible(false); menu.findItem(R.id.menu_item_toUmbuchung).setVisible(false); menu.findItem(R.id.menu_item_create_RegelmBuchung_fromUmsatz).setVisible(false); break; case EDIT: MenuItem item; if (mUmsatz.isInserted()) { intent.putExtra(ID, mUmsatz.getID()); item = menu.findItem(R.id.menu_item_create_RegelmBuchung_fromUmsatz); item.setIntent(intent); } item = menu.findItem(R.id.menu_item_toUmbuchung); if (mUmsatz.isUmbuchung()) { menu.findItem(R.id.menu_item_delete_Buchung).setVisible(false); menu.findItem(R.id.menu_item_SplitBuchung).setVisible(false); intent.putExtra(ID, mUmsatz.getAsLong(R.string.column_transferID)); item.setIntent(intent); } else { item.setVisible(false); } break; } }
/** Bindet die View an Daten. Wird gerufen, wenn sich Inhalte der View geaendert haben koennen */ @CallSuper protected void bindView() { View contentView = getView(); for (int resID : viewResIDs) { TextView view = (TextView) contentView.findViewById(resID); switch (resID) { case R.id.tvAmount: CalculatorTextCurrency ecAmount = (CalculatorTextCurrency) view; ecAmount.setValue(mUmsatz.getAsLong(R.string.column_amount, 0)); if (mUmsatz.isUmbuchung() || mUmsatz.hasSplitBuchung()) { ecAmount.setFocusable(false); } break; case R.id.actvCat: MonMaAutoCompleteTextView actvCat = (MonMaAutoCompleteTextView) view; MonMaAutoCompleteTextView.Target target = MonMaAutoCompleteTextView.Target.Categorie; actvCat.initialize(target, this); Long id = mUmsatz.getAsLong( R.string.column_catID, -mUmsatz.getAsLong(R.string.column_transferaccountID, NOID)); String text = Categorie.getCatName(id); actvCat.setText(text); if (mUmsatz.hasSplitBuchung()) { actvCat.setText(R.string.Splittbuchung); actvCat.setFocusable(false); } else { if (mUmsatz.isUmbuchung()) { actvCat.setFocusable(false); } } break; case R.id.tvBtag: AWDateTextView tvBtag = (AWDateTextView) view; tvBtag.setDate(mUmsatz.getBuchungsDatum()); break; case R.id.tvMemo: view.setText(mUmsatz.getMemo()); break; case R.id.actvPayee: MonMaAutoCompleteTextView actvPayee = (MonMaAutoCompleteTextView) view; actvPayee.setText(mUmsatz.getPartnerName()); break; } } }
@Override protected void setInternalArguments(Bundle args) { super.setInternalArguments(args); args.putIntArray(VIEWRESIDS, viewResIDs); args.putIntArray(FROMRESIDS, fromResIDs); args.putInt(LAYOUT, layout); mUmsatz = args.getParcelable(UMSATZ); showDetails = args.getBoolean(SHOWDIALOG, false); if (mUmsatz.isDetail()) { showDetails = true; Long id = mUmsatz.getAsLong(R.string.column_transferID); try { mUmsatz = new BankUmsatz(id); args.putParcelable(UMSATZ, mUmsatz); } catch (AWApplicationGeschaeftsObjekt.LineNotFoundException e) { // TODO Execption bearbeiten e.printStackTrace(); } } }