Я использовал счетчик в TableRow, и он работал отлично, за исключением того, что мне не нравилось, что значок счетчика растягивается в зависимости от выбранного элемента. Я попытался удалить раздел Spinner в xml и создать его в своем коде.
Чтобы создать спиннер в OnCreate ():
selectArea = /*(Spinner)this.findViewById(R.id.spinner);*/new Spinner(this);
String[] ss = getResources().getStringArray(R.array.countries);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, ss);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
selectArea.setOnItemSelectedListener(new MyOnItemSelectedListener());
selectArea.setSelection(prefInt);
Для обработки события выбора:
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
Log.d(TAG, "onItemSelected() " + id);
}
public void onNothingSelected(AdapterView<?> parent) {
// Do nothing.
}
}
Сработало почти идеально. В TableRow не отображается значок счетчика, при касании TableRow всплывают элементы, которые нужно выбрать. Моя единственная проблема заключается в том, что при выборе одного тайма я никогда не получаю свой onItemSelected () с именем ..
Что может быть не так?