APIを起動して取得したリストを検索したい。
現在、indexof()を使用して検索していますが、単語の後にスペースを指定すると検索されますが、リストが適切に更新されません。
例:リスト1に2つのレコードがあります。Qtlistと用途2. android 
 「と」を検索すると、1のみが表示されますが、1と2の両方が表示されます。
このための私の機能
  private ArrayList<BusinessDetails> GetSearchAdapterData(String searchKeyword) {
            final ArrayList<BusinessDetails> listData = new ArrayList<BusinessDetails>();
            String searchWith = "";
            Log.i("BusinessArray  ", "size is "
                    + sitesList.getBusinessArray().size());
            list.clear();
            if (sitesList.getBusinessArray() != null
                    && sitesList.getBusinessArray().size() > 0) {
                for (int i = 0; i < sitesList.getBusinessArray().size(); i++) {
                    // String searchWith = "";
                    searchWith += sitesList.getBusinessArray().get(i).busName;
                    Log.i("businessName ", "Bus_Name is "
                            + sitesList.getBusinessArray().get(i).busName
                            + " startwith " + startsWith);
                    if (searchWith.toLowerCase().indexOf(searchKeyword.toLowerCase()) != -1) {
                        listData.add(sitesList.getBusinessArray().get(i));
                    }
                }
                Log.i("List data is inside loop call", "Listdata" + listData.size());
            } else {
                Log.i("sitesList.getBusinessArray() is zero", "size Zero");
            }
            return listData;
        }
関数に加えた変更は次のとおりです。
 private ArrayList<BusinessDetails> GetSearchAdapterData(String searchKeyword) {
            final ArrayList<BusinessDetails> listData = new ArrayList<BusinessDetails>();
            String searchWith = "";
            Log.i("BusinessArray  ", "size is "
                    + sitesList.getBusinessArray().size());
            if (sitesList.getBusinessArray() != null
                    && sitesList.getBusinessArray().size() > 0) {
                for (int i = 0; i < sitesList.getBusinessArray().size(); i++) {
                    searchWith += sitesList.getBusinessArray().get(i).busName;
                }
                for (int i = 0; i < sitesList.getBusinessArray().size(); i++) {
                    if (searchWith.matches(".*\\b" + searchKeyword + "\\b.*")) {
                        listData.add(sitesList.getBusinessArray().get(i));
                        Log.i("Match Word fromList", "" + listData.get(i).busName);
                    }
                }
                    Log.i("List data is inside loop call", "Listdata" + listData.size());
            } else {
                Log.i("sitesList.getBusinessArray() is zero", "size Zero");
            }
            return listData;
        }
どんな助けでもありがたいので、お願いします...助けてください