Некоторые из предыдущих ответов не верны. Они работают для других виджетов и представлений, но документация для виджета Spinner четко гласит:
Вращатель не поддерживает события щелчка элемента. Вызов этого метода вызовет исключение.
Лучше использовать OnItemSelectedListener () вместо:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> parentView, View selectedItemView, int position, long id) {
// your code here
}
@Override
public void onNothingSelected(AdapterView> parentView) {
// your code here
}
});
Это работает для меня.
Обратите внимание, что метод onItemSelected также вызывается во время построения представления, поэтому вы можете рассмотреть возможность помещения его в вызов метода onCreate()
.
Работы над Django 1.11 + (я работаю над Django 2.2)
from django.conf import settings
from django.apps import apps
# get complete list of all apps
list_of_apps = [apps.get_app_config(app_name.split('.')[-1]) \
for app_name in settings.INSTALLED_APPS]
# app_name.split('.')[-1] we need, because some system apps has dots in name
# like 'django.contrib.admin', and app_label is 'admin'
# get list of models for one specific app. For example first app in list_of_apps
models_list = [model for name, model in list_of_apps[0].models.items() \
if not model._meta.auto_created]
# we outfiltered auto_created models, because they are not in models.py
# and had been created automatically by Django