3

我目前正在http://developer.android.com/guide/tutorials/views/hello-spinner.html试用 google 的各种 android 示例

但是即使代码与网站中提供的代码完全相同,我似乎也无法让这部分工作。

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

Eclipse 一直说“无法从 View 投射到 Spinner”

你们中的任何人都知道如何解决这个问题吗?

谢谢。

4

4 回答 4

4

你确定你是进口android.widget.Spinner的而不是其他名字相同的东西吗?也许尝试以下方法,以确保:

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

如果它在那里没有给您带来问题,那么您有命名空间问题的可能性很高。

于 2009-09-17T08:22:38.447 回答
1

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

于 2009-09-17T08:24:37.800 回答
1

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

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

于 2009-09-17T09:13:52.490 回答
1

您的微调器变量名不应与类名相同。

于 2014-11-27T09:26:26.330 回答