2016-02-17 2 views
0

Я пытаюсь добавить функциональность к существующему приложению, Функциональность заключается в добавлении определенного символа с пробелом, когда пользователь печатает. Я уже пробовал это с помощью afterTextChaanged();. Что я хочу сделать, это . Поддерживайте типы пользователей: я в порядке, спасибо, тогда он должен быть автоматически преобразован в: @i @am @fine @thankyou. не могли бы вы мне помочь? Спасибо заранее.Пользовательские функции: добавление специального символа при вводе текста в редакцию

ответ

0

Посмотрите here.

Вы должны быть в состоянии заменить все пространства чем-то вроде ' @'.

Просто позвоните

string = string.replace(" ", " @"); 

в вашем слушателю.

Конечно, вы также должны позаботиться о первом слове, который (как правило) не должен иметь места раньше. Вы можете использовать заполнители, чтобы сделать так, как

<string name="converted_string">@%1$s</string> 

затем в Java

your_textView.setText(getString(R.string.converted_string, yourNewReplaceString)); 
+0

Нет Lucks, это делает рекурсивный вызов –

2
edittext.addTextChangedListener(new TextWatcher(){ 
public void afterTextChanged(Editable s) { 
    edittext.removeTextChangedListener(this); 
    String oldstr=edittext.getText().toString(); 
    String newstr=oldstr.replaceAll("\\s+","@"); 
    edittext.setText(newstr); 
    edittext.removeTextChangedListener(this); 
     } 
public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

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


    } 
}); 
+0

Нет удач, это делает рекурсивный вызов –

+0

, что рекурсивная вызов? – sasikumar

+0

проверить мой отредактированный ответ – sasikumar

Смежные вопросы