【问题标题】:Casting spinners in android在android中铸造微调器
【发布时间】:2009-09-17 07:27:54
【问题描述】:

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

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

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

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

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

谢谢。

【问题讨论】:

  • 在某些时候每个人都是菜鸟 :)

标签: android spinner


【解决方案1】:

您确定您导入了android.widget.Spinner 而不是其他名称相同的东西吗?也许可以尝试以下方法,以确保:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      正如其他人所说,这可能是一个命名空间问题。我在搞砸泛型时遇到过这种情况——为了使用你的情况,我将一个类定义为采用Foo<Spinner> 而不是Foo<A>,因此Spinner 被定义为我命名空间中的本地名称。只有当我将泛型重命名为 Foo<A> 时,我的 Spinner 引用才得以解决。

      (在我的例子中,它是String 而不是Spinner,但模式应该成立)

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2020-03-16
          • 1970-01-01
          • 1970-01-01
          • 2011-08-24
          • 1970-01-01
          • 1970-01-01
          • 2012-06-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多