0

私はアンドロイド2.2で作業しています。アダプターに含まれている複数の単語をフォーマットしたい。お気に入り

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1);
        adapter.add("aaaa");
        adapter.add("abaa");
        adapter.add("acaa");
        adapter.add("adaa");
        adapter.add("aaba");
        adapter.add("aaca");
        adapter.add("aaba");
        adapter.add("aaae");

テキストを書いているEditTextビューが1つありますが、テキストが変更された場合、強調表示したいアダプター値と一致する単語が見つかりました。

テキストの変更について次のコードを参照してください。ただし、完全な出力が得られません。

@Override
            public void afterTextChanged(Editable s) {
                CharSequence cs;
                // TODO Auto-generated method stub

                str = myAutoComplete.getText().toString();
            for(int i = 0; i < adapter.getCount(); i++)
            {   
                String s2 = adapter.getItem(i).toString().toLowerCase();    

                if (str.contains(s2) == true) 
                {   Log.e("s2",s2);                     
                    str =  str.replaceAll(s2, "<font color='red'>"+s2+"</font>");
                    Log.e("str",str);
                    myAutoComplete.setText(Html.fromHtml(str), TextView.BufferType.SPANNABLE);
                }

            }
}

ここに画像の説明を入力

4

1 に答える 1

1

これを試して

        SpannableStringBuilder ssb = new SpannableStringBuilder(eT
                    .getText().toString());

            ForegroundColorSpan fcs = new ForegroundColorSpan(Color.GREEN);

                   // 5,10 specifies selected characters
            ssb.setSpan(fcs, 5, 10, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

            eT.setText(ssb);
于 2013-01-08T07:06:29.257 に答える