web-dev-qa-db-ja.com

AutoCompleteTextview色はデフォルトで白に設定されています

AndroidアプリでAutoCompleteTextViewを使用しましたが、正しく機能しています。私が直面している唯一の問題は、提案の色がデフォルトで白であるため、提案が表示されないことです。 。だから、何かを入力し始めると、リストは白いエントリ(非表示)で展開されますが、アイテムをクリックすると、正常に機能していることがわかります。色だけが問題のようです。次のコードを使用しています。

<AutoCompleteTextView Android:id="@+id/location"  Android:textColor="#000000"
            Android:layout_width="fill_parent" Android:layout_height="wrap_content"></AutoCompleteTextView>

そして

 ArrayAdapter<String> autoadapter=new ArrayAdapter<String>(this,Android.R.layout.simple_dropdown_item_1line,cities);
            city = (AutoCompleteTextView) findViewById(R.id.location);
            city.setAdapter(autoadapter);
            city.setThreshold(1);
            city.setTextColor(Color.BLACK);

誰かが問題が何であるか教えてもらえますか?
-前もって感謝します

23
Antrromet

これはログに記録されたバグです。

同じリンクでそれを修正するいくつかの方法を見つけることができます。

オートコンプリートテキストビューのバグ

バグソリューション

注:このソリューションはLollipopでは機能しません

お役に立てば幸いです...

15
R.daneel.olivaw

Setcontextの前にテーマを設定し、arrayAdapterのさまざまなリソースパラメータを試し、さまざまなテーマを試しましたが、何も役に立ちませんでした。

次に、コンテキストを「this」から「getApplicationContext」に変更しましたが、問題は解決しませんでした。

最後に、コンテキストパラメータを「getBaseContext()」に変更し、問題を解決しました。

13
amol khedkar

Lollipopの場合、報告された bug のすべての回避策は機能しません。

次のように、代わりにLollipopAndroid.R.layout.simple_spinner_dropdown_itemで使用することにより、adapterおよび以前のOSバージョンで機能するソリューションにようやく到達しました。

ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), Android.R.layout.simple_spinner_dropdown_item, suggestionList);

これにより、テーマの属性などを変更することなく、ホワイトテキストの問題が解決されます。

8
Sami Eltamawy

ArrayAdaptersimple_list_item_1を使用できます。

ArrayAdapter<String> autoadapter=new ArrayAdapter<String>(this,Android.R.layout.simple_list_item_1,cities);
            city = (AutoCompleteTextView) findViewById(R.id.location);

別の解決策は、AndroidManifest.xmlのスタイルを終了することです。

注:このソリューションはLollipop OSバージョンでは機能しません

さて、「提案テキスト」の色を設定することはできませんが、背景を変更することはできます!この例のようにAndroid:popupBackground="YOUR_COLOR_HEX"を使用するだけです。

<AutoCompleteTextView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:id="@+id/autocompletetextview"
        Android:layout_gravity="center_horizontal"
        Android:hint=" ... "
        Android:popupBackground="#000000"/>

Lollipopでも動作します! ;)

3
Kurtis92

まだ同じ問題が発生する場合

これは私のために働いた

autocompleteF.setBackgroundColor(color.black);
1
Bouchra

あなたは使うべきです

setTheme(Android.R.style.Theme);setContentView

それは私のために働いた:)

1
Emre Koç

ポップアップの背景色を設定city.setDropDownBackgroundResource(R.color.indicator);

1
Dijish U.K

これは私のために働いた最初にこれを使用する setContentView()

setTheme(Android.R.style.TextAppearance_DeviceDefault_Medium_Inverse);

値フォルダのcolors.xmlのいくつかの色を変更する必要があります

0

これをテーマに追加します。

<item name="Android:autoCompleteTextViewStyle">@style/Widget.AppCompat.AutoCompleteTextView</item>
0
anapsil