import android.widget.TextView;
import androidx.annotation.NonNull;
-import androidx.appcompat.widget.LinearLayoutCompat;
import androidx.lifecycle.Observer;
import androidx.recyclerview.widget.RecyclerView;
import net.ktnx.mobileledger.model.Data;
import net.ktnx.mobileledger.model.LedgerTransactionAccount;
import net.ktnx.mobileledger.model.MobileLedgerProfile;
+import net.ktnx.mobileledger.ui.AutoCompleteTextViewWithClear;
import net.ktnx.mobileledger.ui.DatePickerFragment;
import net.ktnx.mobileledger.utils.Logger;
import net.ktnx.mobileledger.utils.MLDB;
private AutoCompleteTextView tvDescription;
private AutoCompleteTextView tvAccount;
private TextView tvAmount;
- private LinearLayoutCompat lHead;
+ private LinearLayout lHead;
private LinearLayout lAccount;
private FrameLayout lPadding;
private MobileLedgerProfile mProfile;
boolean wasSyncing = syncingData;
syncingData = true;
try {
- adapter.updateFocusedItem(getAdapterPosition());
+ final int pos = getAdapterPosition();
+ adapter.updateFocusedItem(pos);
+ if (v instanceof AutoCompleteTextViewWithClear) {
+ adapter.noteFocusIsOnAccount(pos);
+ }
+ else {
+ adapter.noteFocusIsOnAmount(pos);
+ }
}
finally {
syncingData = wasSyncing;
case transactionRow:
// do nothing if a row element already has the focus
if (!itemView.hasFocus()) {
- focused = tvAccount.requestFocus();
- tvAccount.dismissDropDown();
- if (focused)
- Misc.showSoftKeyboard((NewTransactionActivity) tvAccount.getContext());
+ if (item.focusIsOnAmount()) {
+ tvAmount.requestFocus();
+ }
+ else {
+ focused = tvAccount.requestFocus();
+ tvAccount.dismissDropDown();
+ if (focused)
+ Misc.showSoftKeyboard((NewTransactionActivity) tvAccount.getContext());
+ }
}
break;