문제
나는 현재 Google의 다양한 Android 예제를 시도하고 있습니다. http://developer.android.com/guide/tutorials/views/hello-spinner.html
그러나 코드가 웹 사이트에 제공된 코드와 정확히 동일 하더라도이 부분이 작동하지 않는 것 같습니다.
스피너 s = (스피너) findViewById (r.id.spinner);
Eclipse는 "시야에서 스피너로 캐스트 할 수 없습니다"라고 계속 말합니다.
너희들이 누구 든지이 문제를 해결하는 방법?
감사.
해결책
당신이 가져 왔다고 확신합니까? android.widget.Spinner
그리고 다른 이름이 같은 이름이 아니 었습니까? 아마도 다음을 시도해보십시오.
android.widget.Spinner s = (android.widget.Spinner) findViewById(R.id.spinner);
문제가되지 않으면 네임 스페이스 문제가있을 확률이 높습니다.
다른 팁
이상해 보인다. Android.widget.spinner를 가져 왔다고 확신합니까? 스피너는보기에서 상속되어 작동해야합니다.
다른 사람들이 알 수 있듯이 이것은 네임 스페이스 문제 일 수 있습니다. 나는 일반적인 사건을 파울 때 이것에 한 번만 달려 갔다 - 당신의 사건을 사용하기 위해, 나는 수업을 복용하는 것으로 정의했다. Foo<Spinner>
대신에 Foo<A>
, 그리고 그렇게 Spinner
내 네임 스페이스에서 로컬 이름으로 정의되었습니다. 제네릭으로 이름을 바꿨을 때만이었습니다 Foo<A>
그건 내 Spinner
참고 문헌이 해결되었습니다.
(제 경우에는 그랬습니다 String
보다는 Spinner
, 그러나 패턴은 유지되어야한다)
스피너 변수 이름은 클래스 이름과 같지 않아야합니다.