gpt4 book ai didi

android - 溢出按钮强制操作模式完成

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:56:48 25 4
gpt4 key购买 nike

我有一个 EditText,我希望用户能够选择一些文本并对所选文本应用一些基本格式(粗体、斜体等)。不过,我仍然希望显示标准的复制、剪切、粘贴选项。我在 Android 文档的某处读到要执行此操作,您应该在 EditText 上调用 setCustomSelectionActionModeCallback() 并将其传递给 ActionModeCallback(),这就是我所做的。这是我的代码:

在我的 Activity 的 onCreate() 方法中:

myEditText.setCustomSelectionActionModeCallback(new TextSelectionActionMode());

回调声明:

private class TextSelectionActionMode implements ActionMode.Callback {
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
menu.add("Bold");
return true;
}

@Override
public void onDestroyActionMode(ActionMode mode) {
}

@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
}

我遇到的问题是,当我单击溢出按钮(以访问我的“粗体”菜单项)时,ActionMode 立即关闭。如果我将它设置为始终显示为一个 Action ,使用这个:

MenuItem bold = menu.add("Bold");
bold.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);

它工作正常,我可以点击它(虽然它显然什么也没做)。我在这里缺少什么?

编辑:只是想补充一点,如果我实际扩充菜单而不是以编程方式添加菜单项,我会遇到完全相同的问题。不过,如果我强制它始终显示为一个 Action ,问题就会消失。

最佳答案

这是框架问题。如果 textview 收到 'focus changed' 事件,则 textview 停止 Action 模式。当显示溢出弹出窗口时,textview 失去焦点。

关于android - 溢出按钮强制操作模式完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458902/

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