在安卓系统中铸造旋转器

3
我正在尝试使用Google在http://developer.android.com/guide/tutorials/views/hello-spinner.html提供的各种Android示例。但是,即使代码与网站上提供的完全相同,我似乎无法使此部分正常工作。
Spinner s =(Spinner)findViewById(R.id.spinner);
Eclipse一直显示“无法从View转换为Spinner”。您们中有人知道如何解决这个问题吗?
谢谢。

每个人都有成为新手的时候 :) - Jeremy Logan
4个回答

4

您确定已经导入了android.widget.Spinner而不是其他同名的内容吗?也许可以尝试以下方法以确认:

android.widget.Spinner s = (android.widget.Spinner) findViewById(R.id.spinner);

如果在这里没有问题,那么很有可能您有一个命名空间的问题。


1
你的spinner变量名不应该与类名相同。

1

这看起来很奇怪,你确定已经导入了android.widget.Spinner吗? Spinner继承自View,所以应该可以工作。


1

正如其他人所建议的那样,这可能是一个命名空间问题。我曾经遇到过这种情况,当我弄错了一个泛型时,就像在您的情况下一样,我将一个类定义为使用Foo<Spinner>而不是Foo<A>,因此Spinner被定义为我的命名空间中的本地名称。只有当我将泛型重命名为Foo<A>时,我的Spinner引用才得以解决。

(在我的情况下,它是String而不是Spinner,但模式应该保持不变)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接