如何在android中处理首选项的click事件

时间:2012-12-12 05:38:23

标签: android android-preferences

 public class SettingsActivity extends PreferenceActivity implements OnPreferenceClickListener{


private Preference mLoginPreference;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.settings_layout);

    mLoginPreference = getPreferenceManager().findPreference(
            getString(R.string.login_pref));
}

@Override
public boolean onPreferenceClick(Preference preference) {

    if(preference.getKey().equals(getString(R.string.login_pref))) {
        Intent intent = new Intent(SettingsActivity.this, FacebookLoginActivity.class);
        startActivity(intent);
        return true;
    }
    return false;
}
}

在settings_layout.xml

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@android:color/white" >

<Preference
    android:key="@string/login_pref"
    android:title="@string/login_title" />
</PreferenceScreen>

我有一个应用程序作为设置屏幕,在此Login to your Account选项中将登录用户的FB帐户并且摘要将被更新。 这是我编写的代码,但它不起作用,我还想更新Login to your Account的摘要,无论用户是否登录使用FaceBook帐户。 任何帮助,谢谢

1 个答案:

答案 0 :(得分:1)

FacebookLoginActivity内完成登录后,您可以在完成活动之前使用setResult(结果代码)设置结果代码,并在SettingsActivity覆盖onActivityResult内部(结果代码)并更改用户登录的标签。