2017-05-05 8 views
0

で分離されたテキストを選択し、私はAppCompatEditTextから延長されたカスタムEdittextを持っており、ユーザーはテキストの任意の部分の上1時間をクリックするとそれは、"10.02.2012 10:40"のように日付のテキストを示し、一部が自動的に選択されなければなりません。例えば動的のEditText

enter image description here enter image description here

それを行うには、私のカスタムのEditTextで、私はそれは何も変わりませんonSelectonChange

@Override 
    protected void onSelectionChanged(int selStart, int selEnd) { 

     if (isFocused() && isCursorVisible() && isPressed()) { 
      int[] aFoo = findPartOfText(selStart, selEnd); 
      selStart = aFoo [0]; 
      selEnd = aFoo [1]; 
     } 

     super.onSelectionChanged(selStart, selEnd); 

    } 

をオーバーライド。私もこれを試した:

@Override 
     protected void onSelectionChanged(int selStart, int selEnd) { 
      //Select first 3 characters 
      super.onSelectionChanged(0, 2); 

     } 

結果は同じです。最初の3文字は選択されません。

+0

これは、onClickListenerまたはOnFocusChangedListenerを使用して実現できます。ここにリンク[リンク](http://stackoverflow.com/questions/9128297/how-to-dynamically-select-text-from-edittext-onclicklistener) –

答えて

0

EditText.setSelection(int start、int end)を試してください。 onSelectionChangedが呼び出されると、カーソルの位置または選択を確認し、setSelectionを呼び出して変更します。

+0

です。setSelectionはすでにonSelectionChangedメソッドを呼び出しています。したがってsetSelectionメソッドを呼び出すonSelectionChangedでは意味がありません。注:私も前にあなたの方法を試してみました。 – ziLk

+0

onSelectionChangedで、選択範囲を確認します。範囲が必要でない場合は、setSelectionを呼び出します。 – jarly

関連する問題