1

アプリケーション用のFacebookログインボタンを作成したい。

私の問題は、OnClickListenerで「authorize」を呼び出したいのですが、eclipseが「authorize」の部分をエラーとしてマークしていることです。これをauthorizeCallbackに置き換えることをお勧めしますが、それは解決策ではありません。

何かが足りないようですが、何がわからないのです。何かアイデアをお願いしますか?

ここでエラーが発生します(facebook.authorize):

LoginButton.setOnClickListener(new OnClickListener() 
{
         public void onClick(View v) 
         {
         facebook.authorize(this, new String[] { "email", "user_birthday" }, new FacebookLoginDialogListener());    
          }});
    }

残りのコード:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
        super.onActivityResult(requestCode, resultCode, data);
        facebook.authorizeCallback(requestCode, resultCode, data);
}

public class FacebookLoginDialogListener implements DialogListener  
    {
        public void onComplete(Bundle values) {
            SharedPreferences.Editor editor = mPrefs.edit();
            editor.putString("access_token", facebook.getAccessToken());
            editor.putLong("access_expires", facebook.getAccessExpires());
            editor.commit();
            requestUserData(); 
        }

        public void onFacebookError(FacebookError error) {}

        public void onError(DialogError e) {}

        public void onCancel() {}

    }
4

1 に答える 1

2

このようにします:

facebook.authorize(YourActivity.this, new String[] { "email", "user_birthday" }, new FacebookLoginDialogListener());

OnClickListenerメソッドへのthis参照を渡しActivity's Contextます。メソッドに渡す必要があります。

于 2012-04-27T10:55:20.990 に答える