X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Faccount_summary%2FAccountSummaryAdapter.java;h=bd71fd74d792fed851130202e581af1a5537392a;hp=c2ec0e96cf1053d27dca49b0e25292b495d3cab5;hb=685885185ce21d286a1eb6dadeb86829ece75250;hpb=99c9595cb7bff9a8af5bc5370bda873286bde29b diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryAdapter.java b/app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryAdapter.java index c2ec0e96..bd71fd74 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryAdapter.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryAdapter.java @@ -31,9 +31,11 @@ import android.widget.TextView; import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.LedgerAccount; +import net.ktnx.mobileledger.ui.activity.MainActivity; import net.ktnx.mobileledger.utils.LockHolder; import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.recyclerview.widget.RecyclerView; @@ -159,6 +161,8 @@ public class AccountSummaryAdapter this.expanderContainer = itemView.findViewById(R.id.account_expander_container); this.expander = itemView.findViewById(R.id.account_expander); + MainActivity activity = (MainActivity) row.getContext(); + expanderContainer.addOnLayoutChangeListener( (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> { int w = right - left; @@ -169,6 +173,27 @@ public class AccountSummaryAdapter } else v.setPadding(0, 0, 0, 0); }); + + itemView.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + AlertDialog.Builder builder = new AlertDialog.Builder(itemView.getContext()); + LedgerAccount acc = + (LedgerAccount) v.findViewById(R.id.account_summary_row).getTag(); + builder.setTitle(acc.getName()); + builder.setItems(R.array.acc_ctx_menu, (dialog, which) -> { + switch(which) { + case 0: + // show transactions + activity.showAccountTransactions(acc); + break; + } + dialog.dismiss(); + }); + builder.show(); + return true; + } + }); } } }