java - Android Studio Apply Changes非静态方法无法引用,但方法是静态的

标签 java android oop android-studio hotswap

我在 Android Studio 中编译 Android 应用程序时遇到问题。我收到这样的错误:

Error:(51, 48) error: non-static method buildUsernameUrlString(String)
cannot be referenced from a static context

还有这个:

Error:(63, 38) error: OAUTH_URL has private access in TwitchApi

我知道静态方法等的概念,这就是为什么我的 TwitchApi 类看起来像这样:

public class TwitchApi {
    // more stuff here

    public static String OAUTH_URL = Uri.parse("https://api.twitch.tv/kraken/oauth2/authorize")
            .buildUpon()
            .appendQueryParameter("response_type", "token")
            .appendQueryParameter("client_id", CLIENT_ID)
            .appendQueryParameter("redirect_uri", REDIRECT_URL)
            .appendQueryParameter("scope", "user_read chat_login").build().toString();


    public static String buildUsernameUrlString(String accessToken)
    {
        return BASE_URI
                .buildUpon()
                .appendQueryParameter("client_id", CLIENT_ID)
                .appendQueryParameter("oauth_token", accessToken)
                .build()
                .toString();
    }
}

所以我的方法显然是静态的,也是公共(public)的,并且属性 OAUTH_URL 也是公共(public)的和静态的。

我这样调用该方法:

String usernameUrlString = TwitchApi.buildUsernameUrlString(matcher.group(1));

奇怪的是,我只在执行“应用更改”时出现此错误,这似乎是更改的热交换,不会再次编译整个应用程序。

完整编译没有错误。

有人知道如何解决这个错误吗?我真的很喜欢“应用更改”功能,它可以大大加快开发速度。

最佳答案

尝试删除.build文件夹并重建项目。它会解决你的问题。

关于java - Android Studio Apply Changes非静态方法无法引用,但方法是静态的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47121633/

相关文章:

java - 如何在 Android 中从 Firebase Realtime db 接收特定信息?

java - 如何限制每个线程的 Java 堆栈大小?

java - ActiveMQ 死信队列未创建

android - "Failed to find style with id 0x7f070001 in current theme"使用 CardView android L (api 21) 时

java - 使用 JNLP/Webstart 打开文件

android - 在 Android 中使用 RxJava、OkHttp 和 Okio 下载进度

android - 解密适用于 String.getBytes() 的 IV,但会失败 SecureRandom.generateSeed()

java - 防御副本 : should it be specified in the Javadoc?

python - 在评估定义为类的列表的长度时

javascript - 类中的构造方法未被调用