(Rookie Android dev)
我在recyclelerview中实现了actionmode回调(也可能是一个糟糕的选择,请详细说明是否有一个好的教程/示例),这样当用户点击listitem时,它会被选中容易。
我想要做的是观察动作模式按钮按钮,并显示浮动动作按钮(或菜单)的列表。我希望他们在显示和隐藏时获得动画,并在推送时触发各种内容(在recyclerview项目上)。
我有点知道如何以非常肮脏的方式执行此操作:将List<FloatingActionButton>
和动画传递给活动中的视图。但我想知道如何实现这一目标的最佳实践。此外,一个可观察的视图(由视图模型或活动观察)对我来说有点愚蠢的选择,而且我对代表没有经验。
我的actioncallback看起来像这样:
private ActionMode.Callback actionModeCallbacks = new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.menu_contextual_items, menu);
isActionModePresent = true;
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.cab_action_select_all:
selectedAppsHashSet.addAll(itemList);
notifyDataSetChanged();
return true;
case R.id.cab_action_select_none:
selectedAppsHashSet.clear();
notifyDataSetChanged();
return true;
case R.id.cab_action_selecty_apply_green:
//implement stuff here
return true;
case R.id.cab_action_selecty_apply_red:
//implement stuff here
return true;
default:
return false;
}
}
@Override
public void onDestroyActionMode(ActionMode mode) {
isActionModePresent = false;
selectedAppsHashSet.clear();
notifyDataSetChanged();
}
};