EDIT:この質問を無視してください - 私は必要なものに対してうまく動作するように解決しました。Spinner/ArrayAdapterカスタムセットアップのヘルプが必要
私はSpinnerを拡張するWeatherSpinnerクラスを持っています。クラスは私が元々ArrayAdapter<String>
を使って行った地域名を示していますが、今はArrayAdapter<Locale>
(Localeは私自身の抽象的な '空'クラスです)を使いたいと思います。
次...
protected ArrayList<?> theList;
protected ArrayAdapter<Locale> aa = null;
...
protected void updateContents(ArrayList<?> list, int selectedItem) {
theList = list;
// Exception thrown on next line
aa = new ArrayAdapter<Locale>(theContext, android.R.layout.simple_spinner_item,
(Locale[]) theList.toArray());
...
}
と私のArrayAdapterを投入しようとしたとき、私は 'リスト' として)(updateContentsにRegionList
オブジェクトを渡しているClassCastException
を取得していますパラメータはRegionList extends ArrayList<Region>
、Region extends Locale
です。また、有効なStringを返すためにRegionのtoString()
メソッドをオーバーライドしました。
私はここで何を見ませんか? ArrayList<?>.toArray()
の仕方が間違っていますか?