2015-10-29 4 views
12

У меня есть фрагмент вызова метода, который открывает AlertDialog, когда пользователь нажимает кнопку, в этом диалоговом окне я хотел бы показать Spinner со странами (Испания , Италия, французский ....)Не удалось найти класс 'android.widget.ThemedSpinnerAdapter'

Мой код блесны является следующее:

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); 

вертушка предъявляется emphy после открытия диалогового окна.

На LogCat я

Could not find class 'android.widget.ThemedSpinnerAdapter', referenced 
from method 
android.support.v7.widget.AppCompatSpinner$DropDownAdapter.<init> 

Любая идея о том, что я делаю неправильно

+0

Вы используете устройство или эмулятор? – 0X0nosugar

+0

Устройство, Galaxy SII – JoCuTo

+0

какая версия используется? API 23/Marshmallow? – 0X0nosugar

ответ

-2

Есть несколько различных причин этой проблемы. В моем случае (пытается зарегистрироваться на Разобрать), я получил эту ошибку, пытаясь приложение на tablet.When я переключилась на 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" 
    ... 

Это не было it.Had ничего общего с Spinner

0

я столкнулся и выиграть эту проблему!

В случае, если вы используете AndriodAnnotations здесь, проблема в том, что я заполнил списки в методе onCreate(). Раньше я получал Вид через findViewById(R.id...) и работал с ними.

Теперь, как выяснилось во время отладки, все виды не созданы в onCreate()! Проблема была решена, когда я нашел аннотацию @AfterViews в документах, и теперь метод под этой аннотацией заполняет все мои действия и выполняет инициализацию полей.

Так или иначе, проверьте свой код на NullPointerException, вызванный вызовом пустого объекта.

-2

Это может не помочь всем, но у меня возникла проблема с добавлением счетчика в PopupWindow.

Я обновил свой 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" 
/> 

Это не полностью исправить это, конечно, если вы действительно хотите, раскрывающийся кок.

Смежные вопросы