0

オブジェクトからアダプターに文字列のリストを渡すと、リスト内のそれらの名前のみが検索され、表示されます(検索するオブジェクト全体が必要です)。

しかし、ドロップダウンメニューのような別のビューが表示されますが、このように表示する必要があります 検索ビュー

文字を入力すると、すべての単語が取得され、上の図のように行う必要がある代わりに、ドロップダウン レイアウトに表示されます。

それらをドロップダウンに表示するには、このコードを使用しました

AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
String[] cities= getResources().getStringArray(R.array.cities_array);
ArrayAdapter<String> adapter =  new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, cities);
textView.setAdapter(adapter);

しかし、図に示すように、リストビューで単語を直接ハイライトする方法

前もって感謝します

4

1 に答える 1

0

SpannableStringテキストのスタイルを設定するだけの場合は、 a を使用することをお勧めします

これは、いくつかのアプリでテキストの色を設定するために使用するユーティリティ関数です。BackgroundColorSpan

ドローアブル (ドロップ シャドウ付きの丸みを帯びた緑色の形状) を使用して、写真とまったく同じことをしたい場合は、DynamicDrawableSpan.

ここを参照してください: http://developer.android.com/reference/android/text/style/DynamicDrawableSpan.html

/** 
 * Taken with permission from PocketPermissions, this method is licensed under Apache 2.0
 * Sets two colors in a single TextView or Button.
 */
public static void setTwoColorsTextStrings( String str1, String str2, TextView tv, Context c, int color1, int color2 )
{           
    SpannableString spnstr1 = new SpannableString( str1 );
    SpannableString spnstr2 = new SpannableString( str2 );

    int start = 0;
    int len = str1.length();

    int start2 = 0;
    int len2 = str2.length();

    spnstr1.setSpan( new ForegroundColorSpan( color1 ), start, len, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );           
    spnstr2.setSpan( new ForegroundColorSpan( color2 ), start2, len2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );

    SpannableString fullString = SpannableString.valueOf( TextUtils.concat( spnstr1,  spnstr2 ) );

    tv.setText( fullString, BufferType.SPANNABLE );         
}
于 2013-09-27T06:57:06.327 に答える