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);
誰かが問題が何であるか教えてもらえますか?
-前もって感謝します
これはログに記録されたバグです。
同じリンクでそれを修正するいくつかの方法を見つけることができます。
注:このソリューションはLollipop
では機能しません
お役に立てば幸いです...
Setcontextの前にテーマを設定し、arrayAdapterのさまざまなリソースパラメータを試し、さまざまなテーマを試しましたが、何も役に立ちませんでした。
次に、コンテキストを「this」から「getApplicationContext」に変更しましたが、問題は解決しませんでした。
最後に、コンテキストパラメータを「getBaseContext()」に変更し、問題を解決しました。
Lollipopの場合、報告された bug のすべての回避策は機能しません。
次のように、代わりにLollipop
をAndroid.R.layout.simple_spinner_dropdown_item
で使用することにより、adapter
および以前のOSバージョンで機能するソリューションにようやく到達しました。
ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), Android.R.layout.simple_spinner_dropdown_item, suggestionList);
これにより、テーマの属性などを変更することなく、ホワイトテキストの問題が解決されます。
ArrayAdapter
でsimple_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でも動作します! ;)
まだ同じ問題が発生する場合
これは私のために働いた
autocompleteF.setBackgroundColor(color.black);
あなたは使うべきです
setTheme(Android.R.style.Theme);
前setContentView
それは私のために働いた:)
ポップアップの背景色を設定city.setDropDownBackgroundResource(R.color.indicator);
これは私のために働いた最初にこれを使用する前 setContentView()
setTheme(Android.R.style.TextAppearance_DeviceDefault_Medium_Inverse);
値フォルダのcolors.xmlのいくつかの色を変更する必要があります
これをテーマに追加します。
<item name="Android:autoCompleteTextViewStyle">@style/Widget.AppCompat.AutoCompleteTextView</item>