浏览 8242 次
精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-08-14
最后修改:2010-08-14
我写登陆框的时候,在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改回正常的值,这样通过键盘敲入的字符输入也可以得到正常的匹配。 这个问题就解决啦~ 目前还蛮好用,没有出现什么问题。。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-08-25
renaqiu 写道 (开发内容顺承上一篇博客。。。。)
我写登陆框的时候,在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改回正常的值,这样通过键盘敲入的字符输入也可以得到正常的匹配。 这个问题就解决啦~ 目前还蛮好用,没有出现什么问题。。。。 我干javaeye ,想投个精华帖都不可以。莫名其妙冒得分了 |
|
返回顶楼 | |
发表时间:2010-08-25
终于看明白楼主的意思了...setThreshold(100)这个方法真够取巧的
|
|
返回顶楼 | |
发表时间:2010-09-02
通过设置这个属性 就可以让AutoCompleteTextView控件的弹出框不可见.
autoTextView.setDropDownHeight(0); |
|
返回顶楼 | |
发表时间:2011-06-29
为什么我发现AutoCompleteTextView根本没有setOnTextChangedListener方法啊?
|
|
返回顶楼 | |