2013/08/14
Android の AutoCompleteTextView で文字と背景が白くなってしまう
たとえば、以下のコードを実行すると、
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 に変えるとうまくいきます。
ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, android.R.layout.select_dialog_item, list);
0 件のコメント:
コメントを投稿