سؤال
وأنا أحاول حاليا من مختلف الأمثلة الروبوت جوجل لفي HTTP : //developer.android.com/guide/tutorials/views/hello-spinner.html
ولكن لا أستطيع أن يبدو للحصول على هذا الجزء من العمل على الرغم من رمز هو بالضبط نفس واحدة المنصوص عليها في الموقع.
وسبينر ق = (سبينر) findViewById (R.id.spinner)؛
والكسوف يبقي قائلا "لا يمكن أن يلقي من عرض لسبينر"
وأي شخص من رفاق كنو كيفية حل هذا؟
وشكرا.
المحلول
هل أنت متأكد أنك المستوردة android.widget.Spinner
وليس شيئا آخر يدعى نفس الشيء؟ ربما محاولة ما يلي، لمجرد التأكد من:
android.widget.Spinner s = (android.widget.Spinner) findViewById(R.id.spinner);
إذا كان لا تعطيك مشكلة هناك ثم هناك احتمال كبير أن يكون لديك مشكلة مساحة الاسم.
نصائح أخرى
وهذا يبدو غريبا، هل أنت متأكد من أنك قد استوردت android.widget.Spinner؟ الدوار يرث من عرض لذلك يجب أن تعمل.
وكما توحي للآخرين، وهذا قد يكون مشكلة مساحة الاسم. جريت إلى هذا مرة واحدة عندما قاذورات حتى عام - لاستخدام قضيتك، I تعريف الفئة كما أخذ Foo<Spinner>
بدلا من Foo<A>
، وهكذا تم تعريف Spinner
كاسم محلي في بلدي مساحة الاسم. إلا أنه عندما سميت عام لFoo<A>
أن بلدي المراجع Spinner
حلها.
و(في حالتي، كان String
أنه بدلا من Spinner
، ولكن نمط ينبغي أن تعقد)
واسمك متغير الدوار نفس اسم الفئة.