Как да маркирате резултатите от търсенето в ListView

Не разбирам как мога да маркирам резултатите от търсенето.

Опитах се да го направя с помощта на SpannableString като тук, но не знам как да го приложа в моя случай. Грешка при запис на ред mTextView.setText(spannable)

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.search);

    // Listview Data
    final String[] products = new String[] {
        getResources().getString(R.string.t1_2),
        getResources().getString(R.string.t1_3),
        getResources().getString(R.string.t1_4),
    };

    lv = (ListView) findViewById(R.id.list_view);
    inputSearch = (EditText) findViewById(R.id.inputSearch);
    mTextView = (TextView) findViewById(R.id.product_name);

    // Adding items to listview
    adapter = new ArrayAdapter<String>(this, R.layout.list_item,R.id.product_name, products);
    lv.setAdapter(adapter);
    lv.setVisibility(View.GONE);

    // Once user enters a new data in EditText we need to get the text from
    // it and passing it to array adapter filter.
    inputSearch.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
    // When user changed the Text

        Search.this.adapter.getFilter().filter(cs);

        textlength = inputSearch.getText().length();
        // adapter.clear();
        if (textlength != 0) {
            lv.setVisibility(View.VISIBLE);
            for (int i = 0; i < products.length; i++) {
                if (textlength <= products[i].length()) {
                    Spannable spannable = new SpannableString(inputSearch.getText().toString());
                    ColorStateList blueColor = new ColorStateList(new int[][] { new int[] {}}, new int[] { Color.BLUE });
                    TextAppearanceSpan highlightSpan = new TextAppearanceSpan(null, Typeface.BOLD, -1, blueColor, null);
                    spannable.setSpan(highlightSpan, 0,5 , Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                    mTextView.setText(spannable);
                }
            }
        }
    }

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

    }

    @Override
    public void afterTextChanged(Editable arg0) {
    // TODO Auto-generated method stub

    }
});
}
}

person Igor Demo    schedule 12.11.2014    source източник
comment
Какво общо има mTextView с вашия списък? И какъв смисъл има да задавам текста му три пъти с нов spannable? Коя точно грешка при писане?   -  person greenapps    schedule 12.11.2014
comment
Моля, прочетете отново връзката си и осъзнайте, че както е посочено там, трябва да зададете текста в друг стил в getView().   -  person greenapps    schedule 12.11.2014
comment
Трябва също да осъзнаете, че ако искате да подчертаете резултатите от търсенето, не трябва първо да ги филтрирате.   -  person greenapps    schedule 12.11.2014
comment
@greenapps mTextView това е моят файл с оформление за ListView, има само TextView id=product_name...Какво ми трябва? създайте нов адаптер и в getView() напишете Spannable?   -  person Igor Demo    schedule 12.11.2014