Пользовательский адаптер списка фильтров Android

Привет всем, я делаю приложение, которое имеет текст редактирования для поиска элементов в списке. Если пользователь печатает букву. Данные поступают из моей строки json (базы данных), а затем отображаются в моем списке. Пока это то, что я пробовал:

 ListViewAdapter adapter2;
 ArrayList<HashMap<String, String>> arraylist;
 ArrayList<String> list = new ArrayList<String>();

 wsSearch.addTextChangedListener(new TextWatcher (){

        public void afterTextChanged(Editable cs) {
            // TODO Auto-generated method stub



        }

        public void beforeTextChanged(CharSequence arg0, int arg1,
                int arg2, int arg3) {
            // TODO Auto-generated method stub

        }

        public void onTextChanged(CharSequence cs, int arg1, int arg2,
                int arg3) {
            // TODO Auto-generated method stub
            //BAPTISMAL_SONG.this.adapter2.getFilter().filter(cs); 


            String searchString = cs.toString();
            if(searchString.length() != 2) {
                adapter2 = new ListViewAdapterBaptismal(BAPTISMAL_SONG.this, arraylist);
                listview.setAdapter(adapter2);
                return;
            }
            ArrayList<HashMap<String, String>> arrayTemplist = new ArrayList<HashMap<String,String>>();
            for (int i = 0; i < arraylist.size(); i++)
                {
                String currentString = arraylist.get(i).get(BAPTISMAL_SONG.TAG_TITLE);
                if (searchString.equalsIgnoreCase(currentString))
                    {
                        arrayTemplist.add(arraylist.get(i));
                    }
                }
            adapter2 = new ListViewAdapterBaptismal(BAPTISMAL_SONG.this, arrayTemplist);
            listview.setAdapter(adapter2);

        }

    });

@Override
protected void onPostExecute(Void args) {
        // Locate the listview in listview_main.xml

        // Pass the results into ListViewAdapter.java
        adapter2 = new ListViewAdapter(Activity2.this, arraylist);
        // Binds the Adapter to the ListView
        listview.setAdapter(adapter2);


        // Close the progressdialog
        mProgressDialog.dismiss();
    }
}

Чего я хочу добиться, если пользователь вводит букву типа B, все элементы, начинающиеся с этой буквы, должны быть отфильтрованы. Но используя код, который я разместил выше, он не делает именно то, что я хочу. Он просто фильтрует всякий раз, когда я набираю полное имя элемента. Есть идеи? Ваша помощь будет принята с благодарностью. Благодарю.

Ответы на вопрос(6)

Ваш ответ на вопрос