我正在寻找解决方案来完全禁用Android中EditText的复制/粘贴功能。我没有尝试过。的帖子和博客,但没有完全的工作。 请注意,它在某些设备上工作,但在HTC设备上使用o / s 4.0.1时使用相同的o / s,当用户按三次输入文本时,它不起作用。 下面是我现在用于EditText的示例类。
<div class="menu">
<ul>
<li class="active" ><a href="#">Home</a></li>
<li ><a href="#">Products</a>
<ul id="ul">
<li id="li"><a href="#">BOOK CASES / SHOW CASES</a></li>
<li id="li"><a href="#">CHAIRS</a>
<ul id="ulul">
<li id="lili"><a href="#">Office Chairs</a></li>
<li id="lili"><a href="#">Home Chairs</a></li>
</ul>
</li>
<li id="li"><a href="#">CABINETS</a></li>
<li id="li"><a href="#">FILING CABINETS</a></li>
</ul>
</li>
</ul>
</div>
注意:我已查看此解决方案EditText: Disable Paste/Replace menu pop-up on Text Selection Handler click event
答案 0 :(得分:1)
如果您使用的是API级别11或更高级别,则可以停止复制,粘贴,剪切和自定义上下文菜单。
edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback()
{
public boolean onPrepareActionMode(ActionMode mode, Menu menu)
{
return false;
}
public void onDestroyActionMode(ActionMode mode)
{
}
public boolean onCreateActionMode(ActionMode mode, Menu menu)
{
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item)
{
return false;
}
});
从方法** onCreateActionMode(ActionMode,Menu)返回false将阻止**操作模式启动(选择全部,剪切,复制和粘贴操作)。
答案 1 :(得分:-1)
Plz尝试下面的代码。
edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
});