我使用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; }
解决方法
我在尝试为我的应用程序实现登录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); } });
祝好运.