gpt4 book ai didi

java - 在 EditText 上调用 setCustomSelectionActionModeCallback() 后如何修复上下文菜单栏功能(复制/粘贴等)?

转载 作者:行者123 更新时间:2023-11-30 01:34:03 24 4
gpt4 key购买 nike

我正在编写记事本应用程序,其中有显示一些文本格式面板的 slider 菜单。当用户尝试选择一些文本时,我切换此面板的 View ,因此我将我的菜单切换代码实现到我的 EditText 的 setCustomSelectionActionModeCallback() 中,如下所示:

private void manageContextMenuBar(EditText editText) {

editText.setCustomSelectionActionModeCallback(new ActionMode.Callback() {

public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return true;
}
// There menu is hidden
public void onDestroyActionMode(ActionMode mode) {
if (findViewById(R.id.sliderMenu).getVisibility() == View.VISIBLE) {
findViewById(R.id.sliderMenu).setVisibility(View.GONE);
}
}
// There menu shows up
public boolean onCreateActionMode(ActionMode mode, Menu menu) {

if (findViewById(R.id.sliderMenu).getVisibility() == View.GONE) {
findViewById(R.id.sliderMenu).setVisibility(View.VISIBLE);
}
return true;
}

public boolean onActionItemClicked(ActionMode mode, MenuItem item) {


return true;
}
});
}

当我长按文本时,我的格式菜单会出现,还会出现带有粘贴/复制/剪切按钮的软件上下文菜单。

问题是由于我的“覆盖”上下文菜单功能,它们停止工作了。我可以点击按钮,但它们不起作用。

我希望你能理解我的问题任何帮助将不胜感激:)

最佳答案

您应该从 onActionItemClicked 方法返回 false。这样,当您单击这些菜单项时,Android 会使用默认操作。

@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}

来自 onActionItemClicked 方法文档:返回:如果此回调处理了事件,则返回 true;如果标准 MenuItem 调用应继续,则返回 false。

关于java - 在 EditText 上调用 setCustomSelectionActionModeCallback() 后如何修复上下文菜单栏功能(复制/粘贴等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35343981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com