dynamic_edit.addTextChangedListener(new TextWatcher() {
private int l;
private int count;
private boolean update = false;
@Override
public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
update = false;
String str = arg0.subSequence(arg1, arg1 + arg2).toString();
if (str.startsWith("[") && str.endsWith("]")) {
update = true;
}
l = arg0.length();
count = arg3 - arg2;
}
/**
* 输入字体后
*/
@Override
public void afterTextChanged(Editable s) {
int number = 120 - s.length();
dynamic_detail_edit_textview_counter.setText(number + getResources().getString(R.string.nums_of_text));
if (l > s.length() && update) {
int selection = dynamic_edit.getSelectionStart();
dynamic_edit.setText(MySpan.onlytxtToExpression(s.toString(), HomeListDynamicEditActivity.this));
dynamic_edit.setSelection(selection + count);
}
}
});