[已解决]AutoCompleteTextView 不显示匹配的内容,因为将空的内容添加进去了

来源:互联网 发布:淘宝刷店铺收藏量软件 编辑:程序博客网 时间:2024/06/10 19:38

今天项目终于到了需要使用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<DispatchOrderShortInfor> 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();            }        });    }




0 0
原创粉丝点击