2017-02-20 17 views
0

外部キーボードを使用してデバイスにアクセスしています。必要条件として、私はアプリケーションのアンドロイドのEditTextボックスでコピー/貼り付けを無効にする必要があります。デバイスのコピー/貼り付け、問題を処理するための は、我々はあなたがAPIレベル11を使用している場合は、のEditTextを拡張する必要はありませんか、そして、上記のあなたはコピー、ペースト、カットを停止することができ、コード外部キーボードの問題 - Android用のedittextでコピー/貼り付けを防止する

public class MyEditText extends EditText{ 
    --- 
    boolean canPaste() { 
     return false; 
    } 
    --- 
    private void init() { 
     this.setCustomSelectionActionModeCallback(new ActionModeCallbackInterceptor()); 
     this.setLongClickable(false); 
     this.addTextChangedListener(mTextWatcher); 
    } 

    private class ActionModeCallbackInterceptor implements ActionMode.Callback { 
     public boolean onCreateActionMode(ActionMode mode, Menu menu) { return false; } 
     public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; } 
     public boolean onActionItemClicked(ActionMode mode, MenuItem item) { return false; } 
     public void onDestroyActionMode(ActionMode mode) {} 
    } 
} 
+0

http://stackoverflow.com/a/29138389/7320259([/からのEditTextにコピー/貼り付けを無効にする方法]のこの –

+0

可能な重複をチェックしhttp://stackoverflow.com/question/6275299/how-to-disable-copy-paste-to-edittext) –

答えて

0

の下に使用していますおよびカスタムコンテキストメニューが表示されます。

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

(Sourced from Zain Ali's answer to this existing question)

+0

こんにちは@Alvin、私はキーボードのアクセシビリティを探しています。私は既にあなたの提案したコードを追加しましたが、まだキーボードのcntrl + vを使ってテキストを貼り付けることさえできました。 – Pankaj

関連する問題