【发布时间】:2021-09-15 08:33:13
【问题描述】:
在出现TextView 的选择菜单时如何获得通知?
请参阅下面的屏幕录像。如果您选择一些文本,则会出现上下文菜单(复制/共享/全选)。如果您开始拖动蓝色拖动手柄,上下文菜单就会消失,一旦您松开手柄,菜单就会再次出现。因此,基本上,菜单仅在选择完成时出现,而不是在您仍在选择文本时出现。
我希望在选择完成时收到通知(即与菜单出现的时间相同)。我认为onPrepareActionMode将在选择选择并出现菜单后调用,但在使用下面的代码进行测试后,onPrepareActionMode即使在选择菜单不是的情况下,onPrepareActionMode也是拖动句柄的@ 987654325可见的。此外,它经常因为一次拖动而被调用两次。所以onPrepareActionMode 似乎不是那么回答。那是什么?
object: ActionMode.Callback{
@SuppressLint("ResourceType")
override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean
{
Log.d("test", "onCreateActionMode");
return true;
}
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean
{
Log.d("test", "onPrepareActionMode");
return false
}
override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean
{
Log.d("test", "onActionItemClicked");
return false;
}
override fun onDestroyActionMode(mode: ActionMode?)
{
Log.d("test", "onDestroyActionMode");
}
};
【问题讨论】:
标签: android textview android-widget android-menu