Ответ 1
В моем случае я решил проблему, просто установив для всех модулей в проекте ту же SDKCompileVersion. Вот мой полный ответ по аналогичному вопросу
Приветствия
Не удалось найти класс 'android.widget.ThemedSpinnerAdapter' [Android Studio]
У меня есть в фрагменте вызов метода, который открывает AlertDialog, когда пользователь нажимает кнопку, в этом диалоге я хотел бы показать Spinner со странами (Испания, Италия, французский...)
Мой код для счетчика следующий:
RestCountries restCountries = new RestCountries();
List<RestCountries.Datum> countries = restCountries.data;
String mCities ="";
ArrayList<String> citiesArrayList = new ArrayList<>();
for(RestCountries.Datum data : countries){
mCities = data.name;
citiesArrayList.add(mCities);
}
ArrayAdapter spinnerAdapter = new ArrayAdapter(getActivity(),android.R.layout.simple_spinner_dropdown_item, citiesArrayList );
mCountrySpinner.setAdapter(spinnerAdapter);
Скручиватель отображается после открытия диалога.
В logcat я получаю
Could not find class 'android.widget.ThemedSpinnerAdapter', referenced from method android.support.v7.widget.AppCompatSpinner$DropDownAdapter.<init>
Любая идея о том, что я делаю неправильно
В моем случае я решил проблему, просто установив для всех модулей в проекте ту же SDKCompileVersion. Вот мой полный ответ по аналогичному вопросу
Приветствия
Не удалось найти класс 'android.widget.ThemedSpinnerAdapter' [Android Studio]
Я столкнулся и выиграл эту проблему!
Если вы используете AndriodAnnotations здесь, проблема в том, что я заполнил списки в методе onCreate()
.
Я использовал для просмотра через findViewById(R.id...)
и работал с ними.
Теперь, как выяснилось во время отладки, все представления еще не созданы в onCreate()
!
Проблема была решена, когда я нашел аннотацию @AfterViews
в документах, и метод под этой аннотацией теперь заполняет все мои действия и выполняет инициализацию полей.
Итак, в любом случае проверьте свой код на NullPointerException, вызванный вызовом пустого объекта view.
Существует несколько различных причин этой проблемы. В моем случае (пытался зарегистрироваться в Parse), я получил эту ошибку, попробовав приложение на планшете. Когда я перешел на Android-телефон, я получил сообщение об ошибке:
Вы должны зарегистрировать этот подкласс ParseObject перед его созданием
Итак, в моем классе App.java
я сделал это:
public class App extends Application {
public void onCreate() {
super.onCreate();
Parse.enableLocalDatastore(this);
Parse.initialize(this, "PARSE APPLICATION ID", "PARSE CLIENT KEY");
}
}
а затем в моем манифесте я сделал это:
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
...
Вот оно. Не имеет ничего общего с Spinner
Это может не помочь всем, но у меня возникла проблема с добавлением счетчика в PopupWindow.
Я обновил my compileSdkTarget с 23 до 25, а версию моей поддерживающей библиотеки до 25.1.0, но это не помогло.
Оказалось, что смена spinnerMode на "диалог" обошла проблему:
<Spinner
android:id="@+id/group_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:spinnerMode="dialog"
/>
Он не полностью исправляет это, конечно, если вы действительно хотите выталкиватель выпадающего списка.