博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[已解决]AutoCompleteTextView 不显示匹配的内容,因为将空的内容添加进去了
阅读量:4008 次
发布时间:2019-05-24

本文共 1605 字,大约阅读时间需要 5 分钟。

今天项目终于到了需要使用AutoCompleteTextView的情况,但是怎么也不能调出匹配的内容,然后发现它有报一个空指针的异常,所以考虑可能将空的字符串添加到了列表中了,报错如下:

09-20 17:11:08.586 28516-996/com.wbm.app.activity W/Filter: An exception occured during performFiltering()!

                                                            java.lang.NullPointerException
                                                                at android.widget.ArrayAdapter$ArrayFilter.performFiltering(ArrayAdapter.java:480)
                                                                at android.widget.Filter$RequestHandler.handleMessage(Filter.java:234)
                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                at android.os.Looper.loop(Looper.java:136)
                                                                at android.os.HandlerThread.run(HandlerThread.java:61)

解决办法:

添加的时候使用StringUtils去判断只有非空的才能添加就行了:

/**更新自动匹配的数据列表*/    private void updateAutoCompleteList() {        autoCompleteNameList.clear();        autoCompleteAddressList.clear();        List
all = DataSupport.findAll(DispatchOrderShortInfor.class); for (int i = 0; i < all.size(); i++) { DispatchOrderShortInfor shortInfor = all.get(i); String address = shortInfor.getAddress(); String ownerName = shortInfor.getOwnerName(); //只有在列表中没有的时候才添加,不然会出现很多的相同的地址 if(!StringUtils.isEmpty(ownerName)&&!autoCompleteAddressList.contains(address)) autoCompleteAddressList.add(address); if(!StringUtils.isEmpty(ownerName)&&!autoCompleteNameList.contains(ownerName)) autoCompleteNameList.add(ownerName); } mHandler.post(new Runnable() { @Override public void run() { mAdapterForAutoCompleteAddress.notifyDataSetChanged(); mAdapterForAutoCompleteName.notifyDataSetChanged(); } }); }

你可能感兴趣的文章
[LeetCode By Python]122. Best Time to Buy and Sell Stock II
查看>>
[LeetCode By Python]125. Valid Palindrome
查看>>
[LeetCode By Python]136. Single Number
查看>>
[LeetCode By Python]167. Two Sum II - Input array is sorted
查看>>
[LeetCode BY Python]169. Majority Element
查看>>
[LeetCode By Python]172. Factorial Trailing Zeroes
查看>>
[LeetCode By MYSQL] Combine Two Tables
查看>>
python jieba分词模块的基本用法
查看>>
[CCF BY C++]2017.12 最小差值
查看>>
[CCF BY C++]2017-12 游戏
查看>>
如何打开ipynb文件
查看>>
[Leetcode BY python ]190. Reverse Bits
查看>>
面试---刷牛客算法题
查看>>
Android下调用收发短信邮件等(转载)
查看>>
Android中电池信息(Battery information)的取得
查看>>
SVN客户端命令详解
查看>>
Android/Linux 内存监视
查看>>
Linux系统信息查看
查看>>
用find命令查找最近修改过的文件
查看>>
Android2.1消息应用(Messaging)源码学习笔记
查看>>