X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2FCurrencySelectorRecyclerViewAdapter.java;h=7d4c60bed2b1393c2dfd7f756c5c6f66f32aabee;hp=b7d90a3a87eb48bd6c9037365ac195b3ad1c7540;hb=5df10dc0b58df4d4be4e9ab34f1e0f477ca46766;hpb=7c71910950d18868e1f419eed5234f113ee51776 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorRecyclerViewAdapter.java b/app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorRecyclerViewAdapter.java index b7d90a3a..7d4c60be 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorRecyclerViewAdapter.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/CurrencySelectorRecyclerViewAdapter.java @@ -22,6 +22,8 @@ import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.ListAdapter; import androidx.recyclerview.widget.RecyclerView; @@ -35,12 +37,24 @@ import org.jetbrains.annotations.NotNull; * specified {@link OnCurrencySelectedListener}. */ public class CurrencySelectorRecyclerViewAdapter - extends ListAdapter { + extends ListAdapter { + private static final DiffUtil.ItemCallback DIFF_CALLBACK = + new DiffUtil.ItemCallback() { + @Override + public boolean areItemsTheSame(@NonNull String oldItem, @NonNull String newItem) { + return oldItem.equals(newItem); + } + @Override + public boolean areContentsTheSame(@NonNull String oldItem, + @NonNull String newItem) { + return true; + } + }; private OnCurrencySelectedListener currencySelectedListener; private OnCurrencyLongClickListener currencyLongClickListener; public CurrencySelectorRecyclerViewAdapter() { - super(Currency.DIFF_CALLBACK); + super(DIFF_CALLBACK); } @NotNull @Override @@ -60,7 +74,7 @@ public class CurrencySelectorRecyclerViewAdapter public void resetCurrencySelectedListener() { currencySelectedListener = null; } - public void notifyCurrencySelected(Currency currency) { + public void notifyCurrencySelected(String currency) { if (null != currencySelectedListener) currencySelectedListener.onCurrencySelected(currency); } @@ -68,14 +82,14 @@ public class CurrencySelectorRecyclerViewAdapter this.currencyLongClickListener = listener; } public void resetCurrencyLockClickListener() { currencyLongClickListener = null; } - private void notifyCurrencyLongClicked(Currency mItem) { + private void notifyCurrencyLongClicked(String mItem) { if (null != currencyLongClickListener) currencyLongClickListener.onCurrencyLongClick(mItem); } public class ViewHolder extends RecyclerView.ViewHolder { private final TextView mNameView; - private Currency mItem; + private String mItem; ViewHolder(View view) { super(view); @@ -93,9 +107,9 @@ public class CurrencySelectorRecyclerViewAdapter public String toString() { return super.toString() + " '" + mNameView.getText() + "'"; } - void bindTo(Currency item) { + void bindTo(String item) { mItem = item; - mNameView.setText(item.getName()); + mNameView.setText(item); } } }