/** * 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; } }
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); switch (getMainAction()) { case EDIT: setTitle(R.string.menu_item_edit_Buchung); setSubTitle(Account.getAccountName(mUmsatz.getAccountID())); break; case ADD: setTitle(R.string.menu_item_add_Buchung); setSubTitle(Account.getAccountName(mUmsatz.getAccountID())); break; default: setTitle(Account.getAccountName(mUmsatz.getAccountID())); } }
@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(); } } }
/** * Wenn 'Save' gewaehlt wurde, wird aus Payee die ID gelesen und in R.string.column_wpid * eingefuegt. Ist diese ID nicht belegt, wurde ein (neuer) Text eingegeben. Dieser wird als * Partner angelegt und dessen ID benutzt */ @Override protected void onActionFinishClicked() { MonMaAutoCompleteTextView actv = (MonMaAutoCompleteTextView) getView().findViewById(R.id.actvPayee); long id = actv.getSelectionID(); if (id == NOID) { String partnername = actv.getText().toString(); mUmsatz.put(R.string.column_partnername, partnername); } else { mUmsatz.put(R.string.column_wpid, id); } DBHelper db = DBHelper.getInstance(); if (mUmsatz.isInserted()) { mUmsatz.update(db); } else { mUmsatz.insert(db); } Snackbar.make(getView(), getString(R.string.awlib_datensatzSaved), Snackbar.LENGTH_SHORT) .show(); super.onActionFinishClicked(); }
@Override public void onViewCreated(View v, Bundle savedInstanceState) { super.onViewCreated(v, savedInstanceState); MonMaAutoCompleteTextView actv; for (int resID : viewResIDs) { View view = v.findViewById(resID); switch (resID) { case R.id.tvMemo: ((AWEditText) view).setOnTextChangedListener(this); break; case R.id.tvBtag: AWDateTextView dtv = (AWDateTextView) view; dtv.setOnDateChangedListener(this); break; case R.id.tvAmount: CalculatorTextCurrency ctc = (CalculatorTextCurrency) view; ctc.setOnLongValueChangedListener(this); if (mUmsatz.isUmbuchung() || mUmsatz.hasSplitBuchung()) { ctc.setFocusable(false); } break; case R.id.actvPayee: actv = (MonMaAutoCompleteTextView) view; actv.initialize(MonMaAutoCompleteTextView.Target.Payee, this); actv.setText(mUmsatz.getPartnerName()); break; case R.id.actvCat: if (mUmsatz.hasSplitBuchung() || mUmsatz.isUmbuchung()) { EditText et = (EditText) view; et.setFocusable(false); } break; } } bindView(); if (showDetails) { showDetails = false; showSplitBuchung(); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); setHasOptionsMenu(true); }