Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-隐藏Facebook登录按钮_Java_Android_Facebook_Facebook Login - Fatal编程技术网

Java Android-隐藏Facebook登录按钮

Java Android-隐藏Facebook登录按钮,java,android,facebook,facebook-login,Java,Android,Facebook,Facebook Login,我随后创建了一个带有登录按钮的简单应用程序 现在,我希望在用户登录后隐藏登录按钮 我在stackoverflow上读到,我应该保存访问令牌字符串及其过期日期,并检查它是否“过期”(忽略facebook可能随时过期的情况——理论上是这样),或者它是否尚未插入(用户尚未登录的点),然后分别显示/隐藏按钮 我尝试调整以下方法: @Override public View onCreateView(LayoutInflater inflater, ViewGroup c

我随后创建了一个带有登录按钮的简单应用程序

现在,我希望在用户登录后隐藏登录按钮

我在stackoverflow上读到,我应该保存访问令牌字符串及其过期日期,并检查它是否“过期”(忽略facebook可能随时过期的情况——理论上是这样),或者它是否尚未插入(用户尚未登录的点),然后分别显示/隐藏按钮

我尝试调整以下方法:

@Override
    public View onCreateView(LayoutInflater inflater, 
            ViewGroup container, 
            Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.activity_main, container, false);
    LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
    authButton.setFragment(this);
    authButton.setReadPermissions(Arrays.asList("public_profile", "user_friends"));
    if(!hasToShowLogin()){
        authButton.setVisibility(View.GONE);
    }


    return view;
}
方法“hasToShowButton”中的代码不相关,因为它可以工作,只是用于演示

上述代码应在首次创建视图时隐藏按钮,此代码应在登录完成后隐藏按钮,并位于OnActivityResult中:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);

    View view = getView();
    LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
    authButton.setVisibility(View.GONE);
}
发生的事情是,无论发生什么,按钮都会一直显示,并且正常工作

最后,我想做的是:

  • 成功登录后隐藏登录按钮
  • 在用户进入应用程序的以下时间隐藏登录按钮
  • (换句话说:当用户登录时,从不显示登录按钮)

    几个小时来我一直在为这个伤心。谢谢你的帮助

    p.S.刚刚注意到,尽管setVisibility没有隐藏按钮,但在登录后按钮不起作用。所以它已经到了一半,我只需要把它从屏幕上隐藏起来…

    这对我来说很有效

    boolean loggedIn = AccessToken.getCurrentAccessToken() != null;
        if (loggedIn){
            loginButton.setVisibility(View.GONE);
        }
        else{
            loginButton.setVisibility(View.VISIBLE);
        }
    

    我也有同样的问题。用户首次登录时;我的facebook登录片段非常有效。当用户点击facebook登录按钮时,该片段消失,但“登录按钮”变为“注销”,并且在我的活动中仍然可见。我无法解决那个问题。向上投票。