Android - AutoCompleteTextView onClickListener works after second click -
i have 4 autocompletetextview
s (actv) , they're working fine. created onclicklistener()
them know when user selects/presses of 4 @ point in time. however, upon close inspection, noticed had click actv twice before triggered.
here code:
in oncreate()
, initialize actv , set onclicklistener()
:
brandactv = (autocompletetextview) findviewbyid(r.id.actvbrand); itemactv = (autocompletetextview) findviewbyid(r.id.actvitemname); partactv = (autocompletetextview) findviewbyid(r.id.actvpart); barcodeactv = (autocompletetextview) findviewbyid(r.id.actvbarcode); brandactv.setonclicklistener(actvclicked); itemactv.setonclicklistener(actvclicked); partactv.setonclicklistener(actvclicked); barcodeactv.setonclicklistener(actvclicked);
and onclicklistener()
defined so:
onclicklistener actvclicked = new onclicklistener(){ @override public void onclick(view view){ log.d("hi", "onclickactivated"); switch (view.getid()) { case r.id.actvbrand: log.d("hi", "brand pressed"); break; case r.id.actvitemname: log.d("hi", "item name pressed"); break; case r.id.actvpart: log.d("hi", "part pressed"); break; case r.id.actvbarcode: log.d("hi", "barcode pressed"); break; } } };
however, initial click detected properly. subsequent clicks register once user clicks same actv twice.
any ideas on how fix this? thank you.
used onfocuschangedlistener instead. so:
brandactv.setonfocuschangelistener(focuschanged); itemactv.setonfocuschangelistener(focuschanged); partactv.setonfocuschangelistener(focuschanged); barcodeactv.setonfocuschangelistener(focuschanged);
and listener defined such:
onfocuschangelistener focuschanged = new onfocuschangelistener() { @override public void onfocuschange(view v, boolean hasfocus) { log.d("hi", "id " + v.getid() + ". focus " + hasfocus); // todo auto-generated method stub switch( v.getid() ){ case r.id.actvbrand: log.d("hi", "brand focus + " + hasfocus); break; case r.id.actvitemname: log.d("hi", "itemname focus + " + hasfocus); break; case r.id.actvpart: log.d("hi", "part focus + " + hasfocus); break; case r.id.actvbarcode: log.d("hi", "barcode focus + " + hasfocus); break; } } };
Comments
Post a Comment