Twitter登录按钮变灰

7

我正在尝试在我的应用程序中实现使用Twitter登录的日志记录。我刚刚得知Fabric被出售给了Google的消息。我没有在我的应用程序中使用Fabric,而是使用Twitter核心SDK com.twitter.sdk.android:twitter-core:3.1.1。我尝试初始化Twitter,但是使用以下代码时登录按钮仍然处于灰色状态:

TwitterConfig config = new TwitterConfig.Builder(this)
                .logger(new DefaultLogger(Log.DEBUG))
                .twitterAuthConfig(new TwitterAuthConfig(getString(R.string.twitter_key), getString(R.string.twitter_secret)))
                .debug(true)
                .build();
        Twitter.initialize(config);


我在logcat中看到以下错误输出
E/Twitter: 必须在使用getInstance()之前初始化Twitter

我该如何解决这个错误?

1个回答

20
为了解决这个问题,我将Twitter.initialize(TwitterConfig)语句放在Android的setContentView()方法之前,问题得到了解决:

示例代码

 TwitterConfig config = new TwitterConfig.Builder(this)
            .logger(new DefaultLogger(Log.DEBUG))
            .twitterAuthConfig(new TwitterAuthConfig(getString(R.string.twitter_key), getString(R.string.twitter_secret)))
            .debug(true)
            .build();
    Twitter.initialize(config);
    setContentView(R.layout.activity_login);
    mLoginButton = (TwitterLoginButton) findViewById(R.id.login_twitter);
    mLoginButton.setCallback(new Callback<TwitterSession>() {}

你设置的方式对我很有帮助。在初始化过程之后调用setContentView()方法。在我更改了这个之后,按钮不再是灰色的了。谢谢。 - QuartZ
很高兴它有所帮助,现在将其设为被接受的答案,别忘了给@QuartZ点赞。 - Manny265
1
还有一点要注意://从文档中https://github.com/firebase/quickstart-android/blob/master/auth/app/src/main/java/com/google/firebase/quickstart/auth/TwitterLoginActivity.java#L57,记得先配置Twitter,然后再填充布局。 - mehmet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接