В моем основном действии есть несколько фрагментов, один из которых имеет listview или gridview. У меня также есть функция предпочтения, которая настраивает поведение и функции приложения, в частности, отображать ли список или сетку.Как обновить фрагмент из списка предпочтений?
Когда настройка списка/сетки изменяется в активности предпочтений, я хочу отразить это изменение в моем фрагменте (находящемся в основном действии моего приложения). Как мне сделать это из отдельного мероприятия? (в этом случае из предпочтения).
Редактировать - Мне удалось сделать это с помощью onResume() обратного вызова, чтобы проверить, все ли соответствующие предпочтения изменились, и если произошло изменение:
public void onResume() {
super.onResume();
SharedPreferences settings = getActivity().getSharedPreferences("settings", 0);
boolean layout = settings.getBoolean("layout", false);
if (layout == true) {
listview.setVisibility(View.VISIBLE);
gridview.setVisibility(View.GONE);
} else {
listview.setVisibility(View.GONE);
gridview.setVisibility(View.VISIBLE);
}
}
use onResume фрагмента для проверки значений предпочтений – tyczj
Надеюсь, эта ссылка может помочь вам http://stackoverflow.com/questions/13596250/how-to-listen-for-preference-changes-within-a- preferencefragment –