Facebook SDK friendPickerFragment.setOnSelectionChangedListener导致android项目出错

时间:2013-11-10 10:51:05

标签: java android facebook facebook-javascript-sdk facebook-sdk-3.0

我已经为我的项目设置了一个OnSelectionChangedListener,如下所示:

friendPickerFragment.setOnSelectionChangedListener(new PickerFragment.OnSelectionChangedListener() {
        @Override
        public void onSelectionChanged(PickerFragment<?> fragment){
            FriendPickerApplication application = (FriendPickerApplication) getApplication();
            application.setSelectedUsers(friendPickerFragment.getSelection());

            setResult(RESULT_OK, null);
            finish();
        }
    });

这与facebook sdk示例应用程序“FriendPickerSample”中的OnDoneButtonClickedListener完全相同。我收到了错误

java.lang.ClassCastException: android.app.Application cannot be cast to com.garrenkeith.facebook.FriendPickerApplication

我正在寻找一种解决方案来修复在选择用户时将所选用户添加到应用程序的代码。

1 个答案:

答案 0 :(得分:2)

检查您的清单文件。您可能尚未在FriendPickerApplication代码中配置<application>课程。

此外,您确定需要继承`Application'吗?来自Android文档:

  

通常不需要子类Application。在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。如果你的单例需要一个全局上下文(例如注册广播接收器),那么检索它的函数可以给一个Context,它在第一次构造单例时在内部使用Context.getApplicationContext()。