【问题标题】:What happened to method ViewCompat.setActivated()?方法 ViewCompat.setActivated() 发生了什么?
【发布时间】:2023-03-13 12:10:01
【问题描述】:

我尝试使用 Android 支持库,修订版 23.1.0(2015 年 10 月)。问题是简单的一行:

ViewCompat.setActivated(myView, true);

我收到语法错误:

未定义 ViewCompat 类型的 setActivated(View, boolean) 方法

我查阅了以下文档:

http://developer.android.com/reference/android/support/v4/view/ViewCompat.html#setActivated%28android.view.View,%20boolean%29

而且这个方法应该是可用的。摘自文档:

public static void setActivated(查看视图,布尔激活)

更改此视图的激活状态。可以激活或不激活视图。请注意,激活与选择不同。选择是一个瞬态属性,表示用户当前正在与之交互的视图(层次结构)。激活是用户可以将视图移入和移出的长期状态。 参数 如果必须激活视图,则为 true,否则为 false

我需要这个方法。这是 android.support.v4.view.ViewCompat 中的错误还是我错过了什么?

【问题讨论】:

  • 确保您已导入 v4 支持库并且您正在使用 android.support.v4.View
  • 我确定,否则 ViewCompat 类型将不可用。
  • 应该没问题,也许清理/重建你的模块?
  • 也许它是来自不同支持库的不同 ViewCompat 类,我在 Android Studio 自动完成列表中看到该方法没有任何问题......
  • 尝试从您的项目中删除您的支持 v4 jar 并从 sdk extras 中再次添加它

标签: android android-support-library


【解决方案1】:

在我的项目中,我使用按照说明设置的 Android 支持库 app-compat-v7。该项目还包含 app-compat-v4,并将其导出为 Java Build Path -> Order and Export 中的设置。按照说明导出 Android 依赖项和应用程序兼容 jar。

但是

我的项目还使用了一些旧的不起眼的库,这些库需要 app-compat-v4 并将其放在其 libs 文件夹中。该库的 libs 文件夹中的 jar 为 support-v4-19.1.0.jar。一个较旧的版本。事实证明,这个库还导出了它的私有库(旧支持),并且不知何故这在我的项目中具有优先权。所以要修复它,我不得不修改晦涩的库:

Java Build Path -> Order and Export -> 取消选中 Android Private Libraries。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 2013-08-26
    • 2020-07-26
    • 2012-11-02
    相关资源
    最近更新 更多