【问题标题】:difference between Button button = (Button) v; and Button button = (Button)findviewbyid(r.id.button1);Button button = (Button) v; 之间的区别和 Button button = (Button)findviewbyid(r.id.button1);
【发布时间】:2016-02-19 06:41:28
【问题描述】:

谁能告诉我有什么区别

Button button = (Button)v 

Button button = (Button)findviewbyid(R.id.button)

【问题讨论】:

  • 在这种情况下 v 是什么?
  • 不知道这就是为什么我问我正在阅读一个教程,在那个教程中,这些人在 onclick 方法中使用了 button button = (button)v
  • onClick 方法获取了一个 View 对象,然后出于某种原因将其转换为一个按钮对象

标签: android button android-studio


【解决方案1】:

假设这段代码没有什么不同。

View v = findviewbyid(R.id.button);
Button button = (Button)v;

Button button = (Button)findviewbyid(R.id.button);

【讨论】:

    【解决方案2】:

    按钮按钮 = (Button)v

    他正在Button 中投射 v(强制验证单击是表单按钮 ) 因为onOclick() 可能在ButtonIm ageButton

    按钮按钮 = (Button)findviewbyid(R.id.button)

    这也是Button的相同转换,但它是初始化

    【讨论】:

      【解决方案3】:
      Button button = (Button)v // casting v as a button
      

      考虑到 v 是您代码中已有的视图,此语句将该视图强制转换为 Button 并创建一个名为 button 的引用变量。

      Button button = (Button)findviewbyid(R.id.button)
      

      此语句从附加到活动的 xml 中找到具有特定 id 的视图,然后将其转换为 Button 并创建一个名为 button 的引用变量

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-30
        • 1970-01-01
        • 1970-01-01
        • 2017-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多