我想以这种方式在unicode
中写EditText
个字符:
final EditText et = (EditText) findViewById(R.id.editText1);
TextWatcher tw = new TextWatcher() {
public void afterTextChanged(Editable s){
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){
}
public void onTextChanged (CharSequence s, int start, int before,int count) {
if(s.equals("a")){
et.append("\u0627");
}
}
};
et.addTextChangedListener(tw);
但这只会在chracter
中写出英文EditText
,如何解决这个问题。
在此先感谢。
答案 0 :(得分:1)
尝试这种方式可以帮助你
EditText edt = (EditText) findViewById(R.id.edt);
InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if(source.toString().equals("a")){
return "\u0627";
}
return null;
}
};
edt.setFilters(new InputFilter[]{filter});
<强>输出强>