ResourcesCompat构造函数具有私有访问

时间:2016-03-16 06:23:25

标签: android constructor android-support-library

错误很明显,但谷歌android文档说构造函数是公开的。

我在我的应用中使用了以下代码

import android.support.v4.content.res.ResourcesCompat;

final ResourcesCompat resourcesCompat = new ResourcesCompat();
    final int foreground = resourcesCompat.getColor(getResources(), night ? R.color.night_status_bar_text : R.color.status_bar_text, getTheme());
    final int background = resourcesCompat.getColor(getResources(), night ? R.color.night_game_background : R.color.game_background, getTheme());
    statusBar.setTextColor(foreground);

我添加了android-v4支持库最新版本(support-v4 24.0.0)。 Android工作室正在给'ResourcesCompat构造函数提供私有访问',但谷歌文档说构造函数是公开的。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

使用23.2.1,这是目前最新的。 (2016年3月)

查看this网站了解更多信息。

我已经用这个版本测试了它。它工作正常,而且构造函数实际上是公开的。

<强>更新

好的,我找到了ResouresCompat v24

正如我预期的那样,getColorgetColorStateList现在是静态的。所以不需要使用构造函数。

将您的代码更新为:

final int foreground = ResouresCompat.getColor(getResources(), night ? R.color.night_status_bar_text : R.color.status_bar_text, getTheme());
final int background = ResouresCompat.getColor(getResources(), night ? R.color.night_game_background : R.color.game_background, getTheme());

但请记住,这只是预览。