I'm trying to add some chars to the entering text in an EditText field, but the method append() is not working.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.temp, container, false);
button = (Button)rootView.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog dialog = new Dialog(getActivity());
dialog.setContentView(R.layout.enter_sms_dialog);
dialog.setTitle(Html.fromHtml("<font color='#000000'>Phone number verification</font>"));
edSmsCode = (EditText) dialog.findViewById(R.id.edSmsCode);
edSmsCode.addTextChangedListener(new TextWatcher() {
int len = 0;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
String str = edSmsCode.getText().toString();
len = str.length();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s) {
String str = edSmsCode.getText().toString();
if (str.length() == 3 && len < str.length()) {
edSmsCode.append("-");
}
}
});
dialog.show();
}
});
return rootView;
}
But this method works when I use this code for an EditText in Fragment's root view. Is this a bug?