Я добавляю Spinner программно, используя класс Custom Array Adapter (который расширяет ArrayAdapter ) и Custom Layout для моего Spinner (который состоит из ImageView и TextViewна строку).
Все отлично работает, кроме Android Kit Kat : если я коснусь моего Spinner, он не показывает выпадающие элементы, даже если он содержит нужные элементы.Я отлаживаю на Android 6.x и 7.x: работает без проблем.Если я использую Custom Adapter и Layout с использованием раздутого макета (внутри XML моей деятельности), у меня не возникает никаких проблем, но если я добавлю свой Spinner программно (с использованием внешнего макета XML), он не будет работать.
Знаете ли вы, если есть известные проблемы совместимости о Spinner / Custom Adapter в Android 4.4.x?(Я могу добавить код, если он может быть полезен)
РЕДАКТИРОВАТЬ
Частичный код в моей деятельности:
TableLayout container = (TableLayout)findViewById(R.id.table);
LayoutInflater inflator = this.getLayoutInflater();
//Single row I wish to add programmatically
TableLayout row = new TableLayout(getApplicationContext());
inflator.inflate(R.layout.internal_layout_to_clone, row);
container.addView(row);
//Acquire Spinner
Spinner spinner = (Spinner)row.findViewById(R.id.spinner);
//[here I use Custom Adapter to populate my Select: values are shown properly]
R.layout.internal_layout_to_clone
являетсяXML-файл, который содержит TableLayout с несколькими TableRow (s), и одна из этих строк содержит мой Spinner.
Я не знаю, заключается ли проблема в том, что я вкладываю TableLayout в другой TableLayout, возможно, это не такхорошо управляемый в Android 4.4