web-dev-qa-db-ja.com

クラス「Android.widget.ThemedSpinnerAdapter」が見つかりませんでした

断片的に、ユーザーがボタンをタップしたときにAlertDialogを開くメソッド呼び出しがあります。そのダイアログで、国(スペイン、イタリア、フランス語など)を含むスピナーを表示したいと思います。

スピナーの私のコードは次のとおりです。

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>

私が間違っていることについての考え

15
JoCuTo

私の場合、プロジェクト内のすべてのモジュールに同じSDKCompileVersionを設定するだけで問題を解決しました。これが同様の質問における私の完全な答えです

乾杯

クラス 'Android.widget.ThemedSpinnerAdapter' [Android Studio]が見つかりませんでした

1
shaolin

これはすべての人に役立つとは限りませんが、PopupWindowにスピナーを追加しようとしてこの問題が発生していました。

CompileSdkTargetを23から25に更新し、サポートライブラリのバージョンを25.1.0に更新しましたが、役に立ちませんでした。

SpinnerModeを "dialog"に変更すると、問題が回避されることが判明しました。

<Spinner
 Android:id="@+id/group_spinner"
 Android:layout_width="match_parent"
 Android:layout_height="wrap_content"
 Android:spinnerMode="dialog"
/>

もちろん、ドロップダウンスピナーが本当に必要な場合は、完全に修正されるわけではありません。

0
Phil Blandford

私はこの問題に直面し、勝ちました!

ここでAndriodAnnotationsを使用している場合、問題はメソッドonCreate()のリストに入力したことです。以前はfindViewById(R.id...)を介してViewを取得し、それらを使用していました。

デバッグ中に判明したように、すべてのビューがonCreate()でまだ作成されていません。注釈を見つけたときに問題は解決しました@AfterViewsドキュメント内で、このアノテーションの下のメソッドがすべてのアクションを実行し、フィールドの初期化を実行します。

したがって、とにかく、空のビューオブジェクトの呼び出しによって引き起こされたNullPointerExceptionのコードを確認してください。

0
Eugene