0

こんにちは、私のアプリにはリスト ビューと検索セクションがあります。検索セクションで単語を検索するときに、検索した単語に応じて対応するリスト ビューを並べ替える必要があります。コードを取得しました名前を並べ替えますが、私の本当の問題は、単語を検索する必要がある場合です。たとえば、検索する必要があります

ラムズスーパー

これは私の現在のコードの単一の名前です。名前を並べ替えるには、R から A などを正しい順序で検索する必要あります。 listview.how can i do this 現在の検索コードは以下のとおりです

    search_sort.addTextChangedListener(new TextWatcher() {
        public void afterTextChanged(Editable s) {
            // Abstract Method of TextWatcher Interface.
        }

        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // Abstract Method of TextWatcher Interface.
        }

        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            textlength = search_sort.getText().length();
            array_sort.clear();
            contactnumber_sort.clear();
            for (int i = 0; i < contactname.size(); i++) {
                if (textlength <= contactname.get(i).length()) {
                    if (search_sort.getText()
                            .toString()
                            .equalsIgnoreCase(
                                    (String) contactname.get(i).subSequence(
                                            0, textlength))) {
                        array_sort.add(contactname.get(i));
                        contactnumber_sort.add(contactnumber.get(i));
                    }
                }
            }
            System.out.println(array_sort);

            myadp = new myAdapter(MobiMailActivity.this, array_sort, contactnumber_sort);
            contactlist.setAdapter(myadp);
        }
    });
4

1 に答える 1

1

.Where is object of my custom のcontains()代わりに使用してみてください。 equalsIgnoreCase()datasetListArrayList<ContactList>

  public void onTextChanged(CharSequence s, int start, int before, int count) {
        // TODO Auto-generated method stub
        String getSearchString = search.getText().toString();

        if(datasetList != null && datasetList.size() > 0)
        {
            sortedList = new ArrayList<ContactDataSet>(); //new List sorted list 

            for (int i = 0; i < datasetList.size(); i++) {

                if (datasetList.get(i).getName().contains(getSearchString)) {
                    sortedList.add(datasetList.get(i));

                }
            }
        }           
        adapter.setnewList(sortedList);
        lView.setAdapter(adapter);

    }

これを試して、私に知らせてください.それは私のために働いています.これがあなたに役立つことを願っています.

于 2012-08-09T08:22:54.977 に答える