質問
現在、 httpでGoogleのさまざまなAndroidの例を試しています。 ://developer.android.com/guide/tutorials/views/hello-spinner.html
ただし、コードがWebサイトで提供されているものとまったく同じであっても、この部分を動作させることはできないようです。
Spinner s =(Spinner)findViewById(R.id.spinner);
Eclipseは<!> quot; ViewからSpinnerにキャストできません<!> quot;
あなたの誰もがこれを解決する方法を知っていませんか?
ありがとう。
解決
インポートしたのはandroid.widget.Spinner
で、同じものに名前が付けられているものではありませんか?念のため、次のことを試してください:
android.widget.Spinner s = (android.widget.Spinner) findViewById(R.id.spinner);
問題が発生しない場合は、名前空間に問題がある可能性が高くなります。
他のヒント
それは奇妙に思えますが、android.widget.Spinnerをインポートしましたか? SpinnerはViewを継承するため、動作するはずです。
他の人が示唆するように、これは名前空間の問題かもしれません。ジェネリックを汚すときに一度これに遭遇しました-あなたのケースを使用するために、Foo<Spinner>
の代わりにFoo<A>
を取るようにクラスを定義したので、Spinner
は私の名前空間でローカル名として定義されました。 String
参照が解決されたのは、ジェネリックの名前を<=>に変更したときだけです。
(私の場合、<=>ではなく<=>でしたが、パターンは保持されるはずです)
スピナー変数名はクラス名と同じであってはなりません。