2017-05-05 30 views
0

分离文本我有一个自定义Edittext是从AppCompatEditText延伸并且它显示像"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来实现。这里是链接[link](http://stackoverflow.com/questions/9128297/how-to-dynamically-select-text-from-edittext-onclicklistener) –

回答

0

尝试EditText.setSelection(int start,int end)。当onSelectionChanged被调用时,检查光标位置或选择,并调用setSelection来改变它。

+0

setSelection已经调用了SelectionChanged方法。所以调用setSelection方法在onSelectionChanged中没有任何意义。注:我也尝试过你的方式。 – ziLk

+0

在onSelectionChanged中,检查选择范围。如果范围不是你想要的,只调用setSelection。 – jarly