From: Damyan Ivanov Date: Sat, 21 Sep 2019 17:53:53 +0000 (+0300) Subject: hookAutocompletion: leave the "focus the next view" logic for the callback X-Git-Tag: v0.11.0~102 X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=commitdiff_plain;h=1b36e6425230f00d2b6fee293629fd64e59db74b hookAutocompletion: leave the "focus the next view" logic for the callback getting to the "next" view from the auto completion adapter is rather difficult, and the callback already has all the needed information --- 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 ac01c93e..c87550f5 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 @@ -103,7 +103,7 @@ public class NewTransactionActivity extends ProfileThemedActivity }); tvDescription = findViewById(R.id.new_transaction_description); MLDB.hookAutocompletionAdapter(this, tvDescription, MLDB.DESCRIPTION_HISTORY_TABLE, - "description", false, findViewById(R.id.new_transaction_acc_1), this, mProfile); + "description", false, this, mProfile); hookTextChangeListener(tvDescription); progress = findViewById(R.id.save_transaction_progress); @@ -365,8 +365,8 @@ public class NewTransactionActivity extends ProfileThemedActivity if (focus) acc.requestFocus(); hookSwipeListener(row); - MLDB.hookAutocompletionAdapter(this, acc, MLDB.ACCOUNTS_TABLE, "name", true, amt, null, - mProfile); + MLDB.hookAutocompletionAdapter(this, acc, MLDB.ACCOUNTS_TABLE, "name", true, + description -> amt.requestFocus(), mProfile); hookTextChangeListener(acc); hookTextChangeListener(amt); diff --git a/app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java b/app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java index 5741a2e6..ab792ae4 100644 --- a/app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java +++ b/app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java @@ -25,7 +25,6 @@ import android.database.sqlite.SQLiteDatabase; import android.os.AsyncTask; import android.os.Build; import android.provider.FontsContract; -import android.view.View; import android.widget.AutoCompleteTextView; import android.widget.FilterQueryProvider; import android.widget.SimpleCursorAdapter; @@ -137,13 +136,13 @@ public final class MLDB { public static void hookAutocompletionAdapter(final Context context, final AutoCompleteTextView view, final String table, final String field) { - hookAutocompletionAdapter(context, view, table, field, true, null, null, null); + hookAutocompletionAdapter(context, view, table, field, true, null, null); } @TargetApi(Build.VERSION_CODES.N) public static void hookAutocompletionAdapter(final Context context, final AutoCompleteTextView view, final String table, final String field, - final boolean profileSpecific, final View nextView, + final boolean profileSpecific, final DescriptionSelectedCallback callback, final MobileLedgerProfile profile) { String[] from = {field}; @@ -204,14 +203,9 @@ public final class MLDB { view.setAdapter(adapter); - if (nextView != null) { - view.setOnItemClickListener((parent, itemView, position, id) -> { - nextView.requestFocus(View.FOCUS_FORWARD); - if (callback != null) { - callback.descriptionSelected(String.valueOf(view.getText())); - } - }); - } + if (callback != null) view.setOnItemClickListener((parent, itemView, position, id) -> { + callback.descriptionSelected(String.valueOf(view.getText())); + }); } }