android - Method append() of EditText doesn't work in custom dialog -


i'm trying add chars entering text in edittext field, method append() 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 method works when use code edittext in fragment's root view. bug?

try replacing edsmscode (edittext)getcurrentfocus() (get view that's being focused, in case edittext) in aftertextchanged() method.

public void aftertextchanged(editable s) {    edittext edittext = (edittext)getcurrentfocus();    string str = edittext.gettext().tostring();    if (str.length() == 3 && len < str.length()) {        edittext.append("-");    } } 

source: https://stackoverflow.com/a/5951792/5837758

if doesn't solve it, can try setting edsmscode final, according answer: https://stackoverflow.com/a/27094374/5837758


Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -