From c07da540488e4298b09cd913e9a91fd31d2bb161 Mon Sep 17 00:00:00 2001 From: Damyan Ivanov Date: Sat, 21 Sep 2019 15:59:41 +0300 Subject: [PATCH] new transaction: dynamically add all of the account rows, even initial ones this ensures that all the row's properties (incl. its contents) are uniform --- .../ui/activity/NewTransactionActivity.java | 25 +++--- .../res/layout/content_new_transaction.xml | 85 +------------------ 2 files changed, 13 insertions(+), 97 deletions(-) diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java index c39ec9ae..d37f4b58 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java @@ -111,16 +111,9 @@ public class NewTransactionActivity extends ProfileThemedActivity Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true); table = findViewById(R.id.new_transaction_accounts_table); - for (int i = 0; i < table.getChildCount(); i++) { - TableRow row = (TableRow) table.getChildAt(i); - AutoCompleteTextView tvAccountName = (AutoCompleteTextView) row.getChildAt(0); - TextView tvAmount = (TextView) row.getChildAt(1); - hookSwipeListener(row); - MLDB.hookAutocompletionAdapter(this, tvAccountName, MLDB.ACCOUNTS_TABLE, "name", true, - tvAmount, null, mProfile); - hookTextChangeListener(tvAccountName); - hookTextChangeListener(tvAmount); -// debug("swipe", "hooked to row "+i); + + while (table.getChildCount() < 2) { + doAddAccountRow(false); } } @Override @@ -343,8 +336,15 @@ public class NewTransactionActivity extends ProfileThemedActivity amt.setSelectAllOnFocus(true); // forward navigation support - final TableRow last_row = (TableRow) table.getChildAt(table.getChildCount() - 1); - final TextView last_amt = (TextView) last_row.getChildAt(1); + TextView last_amt; + int rows = table.getChildCount(); + if (rows > 0) { + final TableRow last_row = (TableRow) table.getChildAt(rows - 1); + last_amt = (TextView) last_row.getChildAt(1); + } + else { + last_amt = tvDescription; + } last_amt.setNextFocusForwardId(acc.getId()); last_amt.setNextFocusRightId(acc.getId()); last_amt.setImeOptions(EditorInfo.IME_ACTION_NEXT); @@ -543,7 +543,6 @@ public class NewTransactionActivity extends ProfileThemedActivity "transaction %d with description %s", profileUUID, transactionId, description)); tr = profile.loadTransaction(transactionId); - table = findViewById(R.id.new_transaction_accounts_table); ArrayList accounts = tr.getAccounts(); TableRow firstNegative = null; int negativeCount = 0; diff --git a/app/src/main/res/layout/content_new_transaction.xml b/app/src/main/res/layout/content_new_transaction.xml index 21b42524..e8b356b9 100644 --- a/app/src/main/res/layout/content_new_transaction.xml +++ b/app/src/main/res/layout/content_new_transaction.xml @@ -89,90 +89,7 @@ android:id="@+id/new_transaction_accounts_table" android:animateLayoutChanges="true" android:layout_width="match_parent" - android:layout_height="match_parent"> - - - - - - - - - - - - - - - - + android:layout_height="match_parent"/>