解决AutoCompleteTextView setText()后下拉框弹出的问题

(开发内容顺承上一篇博客。。。。)

我写登陆框的时候,在AutoCompleteTextView的dropdown中自定义了每个item的布局,并且在每个item显示布局的右边添加了一个删除功能的按钮(就像QQ Android的账号输入那样)。这样导致item的onSelected事件无法被捕捉到,点击dropdown的item,完全没有反应。

为解决该点击响应的问题,我为item的自定义布局添加了onClickListener来代替原来dropdown的itemSelected事件的处理方法,然后对AutoCompleteTextView控件通过setText()使之显示选择的账号。。。。

接着dropdown的框框就弹出来了(因为匹配到了字符串), 尽管我在setText()之后dismissDropDown()也是没有用的, 因为dropDown在一段延迟之后才show出来。所以当调用dismissDropDown()的时候,dropDown根本都还没有出现呢……

我的解决方法是,在setText()之后,改变Threshold的值,例如setThreshold(100),随便一个很大的值,这样因为AutoCompleteTextView中字符数没有达到Threshold的值,于是不会进行匹配,自然dropdown的框框也就不会出来了。

然后再添加一个AutoCompleteTextView的setOnTextChangedListener,在里面把Threshold改回正常的值,这样通过键盘敲入的字符输入也可以得到正常的匹配。
这个问题就解决啦~ 目前还蛮好用,没有出现什么问题。。。。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值