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);
    }
});

祝好运.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...