无法刷新Android联系人中的ListView

无法刷新Android联系人中的ListView,android,listview,contacts,Android,Listview,Contacts,我在Android 4.0.4联系人源代码中添加了一个新设置,名为useCompactView。它所做的是缩小联系人照片的大小,这样您就可以在列表视图中在屏幕上显示两倍多的联系人 <CheckBoxPreference android:key="useCompactView" android:defaultValue = "false" android:title="@string/display_options_use_compact_vi

我在Android 4.0.4联系人源代码中添加了一个新设置,名为useCompactView。它所做的是缩小联系人照片的大小,这样您就可以在列表视图中在屏幕上显示两倍多的联系人

<CheckBoxPreference
        android:key="useCompactView"
        android:defaultValue = "false"
        android:title="@string/display_options_use_compact_view"
        android:summary="@string/display_options_use_compact_view_summary" />
我想要完成的是;当用户在“设置”中选择“使用压缩视图”时,显示屏将自动刷新。基本上我需要重新绘制屏幕。如果我进入“设置”,选中“使用压缩”,然后再更改排序顺序,我会在按下“上一步”按钮时获得压缩视图。因此,更改排序顺序会刷新显示/列表视图。但我不知道如何从我的偏好活动中做到这一点

如果你需要更多的代码,请告诉我,我会把你需要的。这真是令人头痛

sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
sharedPreferences.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener() {
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        if("useCompactView".equals(key)) {
            getListView().invalidateViews();  // This does not work
        }
    }
});