2012-04-26 128 views
2

我无法禁用复制粘贴选项。在三星Galaxy S2上,如果我点击edittext,一个箭头就会出现,点击那个箭头,所有选项都会出现。 onCreateContextMenu尚未被调用。在onUserInteration中,我只是使用setText()方法在它正在工作的模拟器上清除剪贴板信息,但不在真实设备上。请给我这个想法。我尝试了几个小时,但无法解决它。Android无法禁用剪贴复制粘贴

回答

0

How to disable edittext in android

你还可以很明显通过捕获长触摸事件你的EditText设置为android:editable="false"

+0

工作就好了,只有我相信Saravana仍然希望用户能够通过屏幕键盘插入文本。 – Pieter888 2012-04-26 12:40:03

+0

@Thomas K:彼得是对的。我想只禁用剪切。复制和粘贴选项。但可编辑 – Santosh 2012-04-26 13:50:24

-2

你可能想看看这个问题 here.

可以防止复制粘贴工具如下激活:

OnLongClickListener mOnLongClickListener = new OnLongClickListener() 
{ 
    @Override 
    public boolean onLongClick(View v) 
    { 
     // prevent context menu from being popped up, so that user 
     // cannot copy/paste from/into any EditText fields. 
     return true; 
    } 
}; 

然后设置onLongClickListener你刚上的EditText创建这样的:

myEditTextView.setOnLongClickListener(mOnLongClickListener); 
+1

它没有工作。我已经尝试过了。因为在设备上(galaxy s2),如果你点击,一个光标将被打开,如果你点击了curosr,那么选项将在弹出窗口中打开。在这种情况下,此方法将不会被调用。 – Santosh 2012-04-26 14:13:40

0

这添加您要禁止复制粘贴选项您的EditText。

edittext.setCustomSelectionActionModeCallback(new 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; 
       } 
      }); 
+0

黑色这不适用于智能手机(Nexus) – Unknown 2012-12-27 05:32:46

+0

这是行不通的。 – void 2014-03-30 07:21:12