【问题标题】:Android Studio Apply Changes non-static method cannot be referenced, but method is staticAndroid Studio Apply Changes 非静态方法不能被引用,但是方法是静态的
【发布时间】:2018-04-17 17:05:36
【问题描述】:

我在 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();
    }
}

所以我的方法显然是静态的,也是公开的,属性 OAUTH_URL 也是公开的和静态的。

我这样调用方法:

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

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

完整编译没有错误。

有人知道如何解决这个错误吗?我真的很喜欢 Apply Changes 功能,它大大加快了开发速度。

【问题讨论】:

  • 尝试删除 .build 文件夹并重建项目 它将解决您的问题
  • @AbdulWaheed 感谢这确实有效。您可以将其作为答案提交,以便我标记它吗?
  • 很高兴看到这解决了你的问题:)

标签: java android oop android-studio hotswap


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多