android - набор текста в EditText медленный

У меня есть EditText, который МЕДЛЕНно реагирует при наборе текста. Отставание достаточно раздражает, чтобы заставить меня найти решение. Я провел некоторое исследование и обнаружил, что поток SO EditText отстает при наборе текста, и он предлагает переместить код в свой собственный поток. Я сделал это, но я все еще испытываю отставание.

РЕДАКТИРОВАТЬ

Увидев комментарии ниже (спасибо dreamtale), я понял, что в новой теме нет необходимости. Но возвращение кода в событие onTextChanged или afterTextChanged по-прежнему вызывает медленный отклик. Я изменил код, чтобы отразить последние изменения:

xml:





     
                     
    



    

        
                
        
        

            
        
        
                
        
    
  

Вот код для фрагмента:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    try
    {
        vView = inflater.inflate(R.layout.submit_issue, container, false);

        //Setup initial "characters remaining" text.
        mCharsRemaining = (TextView)vView.findViewById(R.id.tvCharactersRemaining);
        mCharsRemaining.setText(String.valueOf(iMaxChars) + ' ' + getString(R.string.CharsRemaining));

        //Event for counting the characters remaining.
        mSummaryEditText.addTextChangedListener(TextEditorWatcher);

        new LoadPOCsTask().execute();   
    }
    catch (Exception e)
    {
        Errors.LogError(e);
    }
    return vView;           
}

Событие TextEditorWatcher:

private final TextWatcher TextEditorWatcher = new TextWatcher() { 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

    } 

    public void onTextChanged(CharSequence s, int start, int before, int count) { 

        int iMaxCharsRemaining = (iMaxChars - s.length());
        mCharsRemaining.setText("Static Text "); //Intentionally put static text to see if problem still occurs, and yes it does.
    } 

    public void afterTextChanged(Editable s) { 
    } 
}; 

Я не могу понять, почему он все еще отстает при наборе текста. Если я удалю событие addTextChangeListener, все будет работать нормально. Идеи?

5
задан Community 23 May 2017 в 10:30
поделиться