mtu*_*rco 8 android android-actionbar
我有一个EditText,我希望用户能够选择一些文本并对所选文本应用一些基本格式(粗体,斜体等).不过,我仍然希望显示标准的复制,剪切,粘贴选项.我在Android文档中的某处读到要执行此操作,您应该在EditText上调用setCustomSelectionActionModeCallback()并将其传递给ActionModeCallback(),这就是我所做的.这是我的代码:
在我的活动的onCreate()方法中:
myEditText.setCustomSelectionActionModeCallback(new TextSelectionActionMode());
Run Code Online (Sandbox Code Playgroud)
回调声明:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,当我点击溢出按钮(访问我的"Bold"菜单项)时,ActionMode会立即关闭.如果我将其设置为始终显示为操作,请使用以下命令:
MenuItem bold = menu.add("Bold");
bold.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
Run Code Online (Sandbox Code Playgroud)
它工作正常,我可以点击它(虽然它显然什么也没做).我在这里错过了什么?
编辑:只是想添加我遇到完全相同的问题,如果我实际上膨胀菜单而不是以编程方式添加菜单项.但是,如果我强迫它始终显示为动作,问题就会消失.
| 归档时间: |
|
| 查看次数: |
1710 次 |
| 最近记录: |