【问题标题】:getting the value of a constant in android class, Android [duplicate]获取android类中常量的值,Android [重复]
【发布时间】:2013-03-12 08:03:46
【问题描述】:

我在我的类中遇到一个编译器错误,我试图在以下示例中使用该常量“VISIBLE”

  if((enterIP.getVisibility()).equals(VISIBLE)){

编译器错误是,“VISIBLE 无法解析为变量”

来自 Android 文档

public int getVisibility()

在 API 级别 1 中添加 返回此视图的可见性状态。

相关的 XML 属性 机器人:可见性 退货 VISIBLE、INVISIBLE 或 GONE 之一。

如何获取 VISIBLE 的数值,或者在我展示的示例中如何使用它?

【问题讨论】:

  • 使用视图类型调用常量 VISIBLE, INVISIBLE , GONE
  • 您收到编译时错误,因为“VISIBLE”| “隐形” | “GONE”是“View”类中的常量,而不是“Activity”类中的常量。要使用常量,您需要通过类名“View.VISIBLE”|“View.INVISIBLE”|“View.GONE”来调用常量。希望这可以清楚为什么它是编译时错误。

标签: android class view visible invisible


【解决方案1】:

使用

if((enterIP.getVisibility()).equals(View.VISIBLE)) {

}

而不是

if((enterIP.getVisibility()).equals(VISIBLE)){

}

因为VISIBLEView 类中是常量,或者您可以使用任何视图(例如Button、TextView)来访问视图类中的常量,例如enterIP.VISIBLE

【讨论】:

    【解决方案2】:

    VISIBLE 本身没什么,所以你得到的是VISIBLE cannot be resolved to a variable

    只需使用View.VISIBLE 将其解析为该类型即可。

    可见:

    int android.view.View.VISIBLE = 0 [0x0]
    
    public static final int VISIBLE 
    

    【讨论】:

    • 我的代码中的另一个错误是我使用 .equals() 作为原始值。与 int 值比较时必须更改为 == 或 !=,因为 VISIBLE 是一个 int
    【解决方案3】:

    VISIBLE、INVISIBLE 和 GONE 是 enterIP 视图的属性,因此您可以这样使用它:

     if((enterIP.getVisibility()).equals(enterIP.VISIBLE)){
    

    【讨论】:

      【解决方案4】:

      你必须使用

      View.VISIBLE
      

      那么也许你可以解决这个错误。

      【讨论】:

        【解决方案5】:

        我已经评论了您面临编译时错误的原因。但是,如果您仍然想做同样的事情,您是否正在尝试这样做,我们可以执行以下操作。

        全局声明变量

        public static final int INVISIBLE=View.INVISIBLE;
        public static final int VISIBLE=View.VISIBLE;
        public static final int GONE=View.GONE;
        

        然后使用你的代码

        if((enterIP.getVisibility()).equals(VISIBLE)){
        

        现在错误似乎消失了。

        注意:这样做可以避免每次都调用“View”类。

        希望对你有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-20
          • 1970-01-01
          • 1970-01-01
          • 2021-12-13
          • 1970-01-01
          • 1970-01-01
          • 2017-09-04
          • 1970-01-01
          相关资源
          最近更新 更多