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

@@ -70,6 +70,8 @@ public class AdapterIdentity extends RecyclerView.Adapter<AdapterIdentity.ViewHo
private TextView tvLast;
private TextView tvError;
private TwoStateOwner powner = new TwoStateOwner(owner, "IdentityPopup");
ViewHolder(View itemView) {
super(itemView);
@@ -149,7 +151,7 @@ public class AdapterIdentity extends RecyclerView.Adapter<AdapterIdentity.ViewHo
if (identity.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(identity.synchronize);
@@ -310,4 +312,9 @@ public class AdapterIdentity extends RecyclerView.Adapter<AdapterIdentity.ViewHo
holder.wire();
}
@Override
public void onViewRecycled(@NonNull ViewHolder holder) {
holder.powner.recreate();
}
}