1

我已经为我的项目设置了一个 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

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

4

1 回答 1

2

检查您的清单文件。您可能还没有在标签中配置您的FriendPickerApplication类。<application>

此外,您确定需要将“应用程序”子类化吗?来自 Android 文档:

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

于 2013-11-10T11:00:56.317 回答