6

我想让我的用户能够通过设置屏幕连接/断开与 Facebook 的连接,该屏幕使用简单PreferenceScreen

如何将此自定义 Button 类集成到PreferenceScreen. https://developers.facebook.com/docs/reference/android/current/LoginButton/

登录按钮大大简化了会话管理,否则需要手动完成,如果我提供简单Preference和使用onClickListener

4

3 回答 3

2

我要做的是创建一个自定义 XML,其中包含您使用 LinearLayout 嵌入的登录按钮的偏好。使用 LinearLayout 很重要,因为它处理 onClick 事件的方式是具有 onClickListener 的最低子级优先于父级 onClickListener。这意味着只有当用户直接点击按钮时才会调用登录按钮的 onClick 逻辑。

在代码中,您现在可以扩展 PreferenceFragment 类,您可以在其中设置 onClick 侦听器以及您可能需要的任何其他内容。请注意,如果您支持 API 级别 10 或更低,您可能需要使用才能创建自定义首选项:

addPreferencesFromResource(R.xml.custom_preference);

希望这是您正在寻找的,我感谢任何反馈。

于 2013-10-28T22:21:26.213 回答
2

使用带有文本的普通 PreferenceScreen,指示用户单击以登录 facebook。单击时注册一个 OnPreferenceClickListener 并在侦听器的定义中使用以下代码:

LoginButton l = new LoginButton(this);
l.performClick();

我基本上想要做的是以编程方式创建一个从未显示的按钮,然后调用它的 onClick 函数来启动 Facebook 登录/注销过程。这行得通吗?

于 2013-10-28T17:31:46.477 回答
1

扩展 Preference 类并覆盖onCreateView(ViewGroup parent)。然后,您可以将 LoginButton 作为您偏好的视图返回。但请确保您实施了所有必要的方法以使首选项正常工作。以下是如何创建自定义首选项的详细信息。

于 2013-10-24T01:07:53.293 回答