какой метод будет запущен перед onSelectionChanged при замене текста в EditText - PullRequest
2 голосов
/ 02 декабря 2011

У меня есть 2 класса:

public class ContentEditText extends EditText {
    public ContentEditText(Context context, AttributeSet attrs, int defStyle)
    {
        super(context, attrs, defStyle);
    }

    public ContentEditText(Context context, AttributeSet attrs)
    {
        super(context, attrs);
    }

    public ContentEditText(Context context)
    {
        super(context);
    }

    @Override   
    protected void onSelectionChanged(int selStart, int selEnd)
    { 
        Log.e(TAG, "on selectoin changed");
    } 
}

и

 public class EditTextListener implements TextWatcher {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count)
    {
        Log.e(TAG, "on text changed");  
    }

    @Override
    public void afterTextChanged(Editable s)
    {
        Log.e(TAG, "on text changed");  
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) 
    {
        Log.e(TAG, "on text changed");  
    }   
}

Тогда я использовал 2 вышеуказанных класса по этому коду:

ContentEditText et = new ContentEditText(this);
et.addTextChangedListener(new EditTextListener());

Когда я запускаю приведенный выше код, я заменяю текст в тексте редактирования другим текстом, я вижу, что onSelectionChanged всегда выполняется до onTextChanged, afterTextChanged, beforeTextChanged.

Итак, мой вопрос: есть ли какие-либо методы, которые будут запущены до onSelectionChanged при замене текста в EditText, и могут быть переопределены?

Спасибо!

...