断片的に、ユーザーがボタンをタップしたときに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>
私が間違っていることについての考え
私の場合、プロジェクト内のすべてのモジュールに同じSDKCompileVersionを設定するだけで問題を解決しました。これが同様の質問における私の完全な答えです
乾杯
クラス 'Android.widget.ThemedSpinnerAdapter' [Android Studio]が見つかりませんでした
これはすべての人に役立つとは限りませんが、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"
/>
もちろん、ドロップダウンスピナーが本当に必要な場合は、完全に修正されるわけではありません。
私はこの問題に直面し、勝ちました!
ここでAndriodAnnotationsを使用している場合、問題はメソッドonCreate()
のリストに入力したことです。以前はfindViewById(R.id...)
を介してViewを取得し、それらを使用していました。
デバッグ中に判明したように、すべてのビューがonCreate()
でまだ作成されていません。注釈を見つけたときに問題は解決しました@AfterViews
ドキュメント内で、このアノテーションの下のメソッドがすべてのアクションを実行し、フィールドの初期化を実行します。
したがって、とにかく、空のビューオブジェクトの呼び出しによって引き起こされたNullPointerExceptionのコードを確認してください。