Lifecycle aware popup menu

This commit is contained in:
M66B
2019-05-03 18:59:27 +02:00
parent 9bb6bd0378
commit 4777d24057
6 changed files with 62 additions and 11 deletions

View File

@@ -78,6 +78,8 @@ public class AdapterAccount extends RecyclerView.Adapter<AdapterAccount.ViewHold
private TextView tvError;
private Group grpSettings;
private TwoStateOwner powner = new TwoStateOwner(owner, "AccountPopup");
ViewHolder(View itemView) {
super(itemView);
@@ -183,7 +185,7 @@ public class AdapterAccount extends RecyclerView.Adapter<AdapterAccount.ViewHold
if (account.tbd != null)
return false;
PopupMenu popupMenu = new PopupMenu(context, view);
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(context, powner, view);
popupMenu.getMenu().add(Menu.NONE, 1, 1, R.string.title_advanced_enabled)
.setCheckable(true).setChecked(account.synchronize);
@@ -338,4 +340,9 @@ public class AdapterAccount extends RecyclerView.Adapter<AdapterAccount.ViewHold
holder.wire();
}
@Override
public void onViewRecycled(@NonNull ViewHolder holder) {
holder.powner.recreate();
}
}