2017-01-13 14 views
0

editTextの既存のテキストを編集するには、ユーザーのクリックにカーソルを合わせます。 タブレットでの編集のアクションバーを無効にするには私が使用します。ユーザーのクリックに応じて、edittextのカーソル位置を設定します。

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

はどのようにテキストでのユーザーのクリックに応じてカーソルの位置を取得するには?

image

答えて

1
Layout layout = ((EditText) v).getLayout(); 
float x = event.getX() + edittext.getScrollX(); 
int offset = layout.getOffsetForHorizontal(0, x); 
edittext.setSelection(offset); 
+0

あなたの答えにコンテキストを提供してみてください。スタンドアロンの回答は、この特定のシナリオでの問題を解決する可能性がありますが、説明は将来の多くの問題を解決する可能性があります。問題を引き起こしていると思われるものと、その答えが解決する理由を含めるようにしてください。 – Newd

関連する問題