2016-07-20 84 views
0

禁用複製&在EditText中粘貼選項longClick不起作用。我所做的是在EditText中禁用複製和粘貼選項longClick不起作用

password.setLongClickable(false); 
    password.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; 
     } 
    }); 

回答

0

嘗試覆蓋此方法並添加mode.finish(),停止剪切,複製,過去的默認選項等

@Override 
    public void onSupportActionModeStarted(ActionMode mode) {  
    super.onSupportActionModeStarted(mode); 
    mode.finish(); 
    } 
0

嘗試使用下面的代碼

mEditText.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; 
      } 
     }); 

爲EDITTEXT創建自定義類和觸摸事件的處理如下,它的工作原理:

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (event.getActionMasked() == MotionEvent.ACTION_UP && mDisableCursorHandle) { 
     // Hack to prevent keyboard and insertion handle from showing. 
     cancelLongPress(); 
    } 
    return super.onTouchEvent(event); 
} 
+0

我做了和你在這裏粘貼的一樣的東西(Plz查看上面的代碼)。複製並粘貼禁用,但點擊藍色光標後,用COPY和CLIPBOARD選項進行粘貼。 – dalu547

+0

用自定義EditText檢查touchevent處理上面提到的,並讓我知道這個問題是否得到解決 –

+0

bhavesh N:你會提供完整的代碼請。所以我可以測試。謝謝。 – dalu547

相關問題