2013-10-18 254 views

回答

1

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

2

使用一个正常的PreferenceScreen文本,指示用户点击登录Facebook。单击时注册一个OnPreferenceClickListener和听众的定义,使用此代码:

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

什么我基本上是试图做的是编程方式创建一个永远不会显示一个按钮,然后调用它的onClick函数开始Facebook登录/注销程序。这是否有诀窍?

2

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

在代码中,您现在可以扩展PreferenceFragment类,您可以在其中设置onClick侦听器以及任何您可能需要的东西。请注意,如果你支持API级别10或更低,则可能需要以用于创建自定义的偏好:

addPreferencesFromResource(R.xml.custom_preference); 

希望这是你在找什么,我很欣赏的任何反馈。