小编Flu*_*roc的帖子

Xamarin android OnSharedPreferenceChangeListener

我有这个活动,但是没有被调用的OnSharedPreferenceChanged有问题.我的用例是我想在偏好描述中显示偏好值.下面的代码翻译是从java翻译完全正常的.

[Activity]          
public class PrefActivity : PreferenceActivity, ISharedPreferencesOnSharedPreferenceChangeListener
{

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        AddPreferencesFromResource(Resource.Xml.preferences);
    }

    protected override void OnResume()
    {
        base.OnResume();
        PreferenceScreen.SharedPreferences.
            RegisterOnSharedPreferenceChangeListener(this);
    }

    protected override void OnPause()
    {
        base.OnPause();
        PreferenceScreen.SharedPreferences.
            UnregisterOnSharedPreferenceChangeListener(this);
    }
    #region ISharedPreferencesOnSharedPreferenceChangeListener implementation
    public void OnSharedPreferenceChanged(ISharedPreferences sharedPreferences, string key)
    {
        Preference pref = FindPreference(key);

        if (pref is ListPreference)
        {
            ListPreference listPref = (ListPreference)pref;
            listPref.Summary = listPref.Entry;
        }
    }
    #endregion
} 
Run Code Online (Sandbox Code Playgroud)

Iam使用上面的Xamarin.Android v4.6.8代码是我最后一次尝试使这个工作我也尝试使用PreferenceScreen.PreferenceChange事件处理偏好更改但没有结果.

Tahnks寻求帮助.

c# android preferenceactivity xamarin.android xamarin

6
推荐指数
1
解决办法
2399
查看次数