微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Facebook SDK 3登录按钮单击确定

我使用com.facebook.widget.LoginButton组件登录Facebook:

public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.splash,container,false);
    LoginButton authButton = (LoginButton) view.findViewById(R.id.login_button);
    stat = (TextView) view.findViewById(R.id.profile_name);
    //authButton.setFragment(this);
    authButton.setReadPermissions(Arrays.asList("user_likes","user_status","user_events","friends_events"));

    return view;
}

我想提示用户登录状态,因此我需要在按下Facebook按钮时更改文本视图.

但我似乎无法找到识别用户点击的方法,无需更改Facebook的lib,或覆盖LoginButton本机监听器.

解决方法

我在尝试为我的应用程序实现登录lib时遇到了同样的问题.到目前为止,我发现的解决方案,仍然不确定它是否是最好的,是将facebook-sdk中的LoginClickListener类从私有更改为公共,所以我可以覆盖我的Activity上的onClick方法.这是我改变的路线.

从:

private class LoginClickListener implements OnClickListener {
    @Override
    public void onClick(View v) {
        ...

至:

public class LoginClickListener implements OnClickListener {
    @Override
    public void onClick(View v) {
        ...

然后在我的Activity上我可以覆盖onClick方法.

LoginButton facebookButton = (LoginButton) findViewById(R.id.authButton);
facebookButton.setonClickListener( facebookButton.new LoginClickListener(){
    @Override
    public void onClick(View v) {
        //Do whatever u want
        super.onClick(v);
    }
});

祝好运.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐