2013/08/14
Android の AutoCompleteTextView で文字と背景が白くなってしまう
たとえば、以下のコードを実行すると、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | AutoCompleteTextView mAutoCompleteTextView; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAutoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1); String[] list = new String[] { "alpha" , "bravo" , "charlie" , "delta" , "echo" }; ArrayAdapter<String> adapter = new ArrayAdapter<String>( this , android.R.layout.simple_dropdown_item_1line, list); mAutoCompleteTextView.setAdapter(adapter); mAutoCompleteTextView.setThreshold( 1 ); mAutoCompleteTextView.setOnFocusChangeListener( new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { mAutoCompleteTextView.showDropDown(); } } }); } |
以下のようになります。
ちゃんと候補は登録されていますので、タップすれば入力可能です。
文字色が白、かつバックグラウンドが白なため、候補が見えなくなっちゃってるんですね。
これ、バグというより、デザインが統一されていないために起きた不具合と言えそうです。
というわけで、以下のように ArrayAdapter のコンストラクタに与える引数を android.R.layout.select_dialog_item に変えるとうまくいきます。
1 2 3 4 | ArrayAdapter<String> adapter = new ArrayAdapter<String>( this , android.R.layout.select_dialog_item, list); |
0 件のコメント:
コメントを投稿