2011-12-21 68 views
1

我想创建一个小应用程序,当用户按下退出按钮退出时,将用户在我的应用程序中创建的条目发布到Facebook。我已经拥有SSO和其他一切设置,问题是它无法将PostDialogListener识别为有效的侦听器。说是不存在,在那里我想用它PostDialogListener()android facebook api问题

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
     Log.d(this.getClass().getName(), "back button pressed"); 

     fb.dialog(getApplicationContext(), "stream.publish", new PostDialogListener()); 

     Toast t=Toast.makeText(getApplicationContext(), " Back pressed ", Toast.LENGTH_LONG); 
     t.show(); 
    } 
    return super.onKeyDown(keyCode, event); 
} 

我试图把在其他地方的对话框代码太多,但结果相同的代码,PostDialogListener不被认可。

回答

1

您可能不会从示例中导入它。将这些类添加到您的项目中:

public abstract class BaseDialogListener implements DialogListener { 
    @Override 
    public void onFacebookError(FacebookError e) { 
     e.printStackTrace(); 
    } 
    @Override 
    public void onError(DialogError e) { 
     e.printStackTrace(); 
    } 
    @Override 
    public void onCancel() { 
    } 
} 

public class PostDialogListener extends BaseDialogListener { 
    @Override 
    public void onComplete(Bundle values) { 
     final String postId = values.getString("post_id"); 
     if (postId != null) { 
      showToast("Message posted on the wall."); 
     } else { 
      showToast("No message posted on the wall."); 
     } 
    } 
} 
+0

我与requestlistener有同样的问题,所以你说我必须实现每个侦听器? – 2011-12-21 14:18:41

+0

你可以从Facebook的SDK例子 – NOSTRA 2011-12-21 14:26:20

+0

嗨谢谢,我认为他们是内置的方法!现在它的工作正常,但我仍然不知道如何获得正确的fb对话,你是否想将它发布到你的墙上。 – 2011-12-24 12:11:18