2016-09-17 6 views
-1

Я видел так много примеров, но никто не работает для меня. я хочу установить текст в TextView через addTextChangeListener (EditText) EditText. но текст текстового текста повторяется для каждого символа, который я напечатал в edittext.edittext addtextchange прослушиватель текст повторного набора

здесь я мой код:

edtFromName.addTextChangedListener(new TextWatcher() { 
      private String lastValue = ""; 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) {} 
      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) {} 
      @Override 
      public void afterTextChanged(Editable s) { 
       setMessage(); 
      } 
     }); 

// setMessage code: 
    private void setMessage() { 

     if (refVia.getSelectedItemPosition() < 3) { 
      if (txtCompany.equals("")) { 
       txtText.append(" or "); 
      } else { 
       txtText.append(" " + txtCompany + " or "); 
      } 
     } else { 
      if (txtSupplier.equals("")) { 
       txtText.append(" or "); 
      } else { 
       txtText.append(" " + txtSupplier + " or "); 
      } 
     } 

     txtText.append(edtFromName.getText().toString() + "."); 
    } 

выход:

Edittext: sagar 

textview: s 
textview: sa 
textview: sag 
textview: saga 
textview: sagar 
+0

повторение в смысле. Каков ваш вклад и что выводится? –

+0

проверить мое обновление –

ответ

0

ИТАК для добавления.

int mainStringLength = txtText.getText().toString().length(); 
int nameStringLength = edtFromName.getText().toString().length(); 
String trimString = txtText.getText().toString().substring(0,(mainStringLength - nameStringLength); 

//Now set this string. 
txtText.setText(trimString); 
+0

извините .. но это не мое решение .. Я не только установил значение edittext .. У меня есть и другой текст автозаполнения. поэтому я использую append. –

+0

спасибо shabbir .. его сработало .. но есть какая-то проблема с другим текстом, но я это обойду. Ведь вы дали мне отличную идею .. –

+0

отлично, что решение вам поможет. рассмотрите также upvote :) –