【问题标题】:What is the difference between specifying a class in these two ways?用这两种方式指定一个类有什么区别?
【发布时间】:2013-10-10 01:13:59
【问题描述】:

我可以在我的电脑上运行这段代码:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  

onResume() 内。我将代码发送给其他人进行测试。但他们告诉我,这一行在他们的 SDK 中显示错误,并将其替换为

getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  

有效,而在我的情况下,两个代码都有效。为什么会这样?

PS:我的 SDK 版本是 zip 文件名为 adt-bundle-windows-x86-20130522 的版本。我不确定他们使用的确切版本,但它比我的要新。

【问题讨论】:

  • 使用实例中的静态值可能是其编译器出现问题的原因

标签: java android android-2.2-froyo android-sdk-2.3 android-sdk-2.1


【解决方案1】:

WindowManager 是 Android SDK 中的一个类。它的完全限定名称是android.view.WindowManagerWindowManager.LayoutParamsWindowsManager 的嵌套类,其完全限定名称为 android.view.WindowManager.LayoutParams

您可以在需要时指定完全限定名称。

getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  

或者你可以导入它的外部类

import android.view.WindowManager;

直接使用

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);  

【讨论】:

  • 我们的两个代码是完全一样的,那我要怎么做才能不用加android.view呢?
  • @user13267 在你的类声明之前使用import 语句。
  • import android.view.WindowManager; 存在,否则即使在我的 SDK 上也无法编译
  • @user13267 您能否编辑您的问题并添加无法编译的代码并给我们编译错误?
  • 很抱歉,错误发生在其他人的计算机中,他们告诉我的只是除非我们在 `addFlags()' 中使用android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,否则它无法编译。就我而言,无论哪种方式都可以。
猜你喜欢
  • 2019-12-20
  • 1970-01-01
  • 1970-01-01
  • 2013-09-08
  • 2019-03-31
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
相关资源
最近更新 更多