我正在尝试向现有应用添加功能,
功能是在用户输入时添加带空格的特定符号。我已经用afterTextChaanged();
尝试了这个。我想做的是
支持用户类型:我很好,谢谢,然后它应该自动转换为:@ i @am @fine @thankyou。你能帮帮我吗?提前谢谢了。
答案 0 :(得分: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){
}
});
答案 1 :(得分:0)
看看here。
您应该可以使用' @'
等替换所有空格。
致电
string = string.replace(" ", " @");
在你的听众中。
当然,您还应该注意第一个单词,其中(通常)之前不应该有任何空格。 您可以使用占位符来执行此操作,例如
<string name="converted_string">@%1$s</string>
然后在java
your_textView.setText(getString(R.string.converted_string, yourNewReplaceString));