У меня есть фрагмент, который я использую, чтобы получить некоторую информацию из базы данных и отобразить их в соответствующих текстовых изображениях, но есть проблема, потому что мой фрагмент не получает обновленные значения, он по-прежнему отображает предыдущие значения, пока я не перезапущу приложение. я пытался использовать onchangedlistener, но без успеха, кто-нибудь знает, как я могу обновить и обновить общие настройки без закрытия соответствующего фрагмента.Как получить обновленное значение общих настроек внутри фрагмента?
здесь немного кода, где проблема происходит:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_showinfo, null);
// i send my current user's id to the database, to get his info.
// the problems happens here because the context is loaded from getActivity() and is not closed so i can get the new values.
SharedPreferences prefs = getActivity().getSharedPreferences(
"MyPrefs", MODE_PRIVATE);
getid = prefs.getString("currentid", null);
//AsyncTask class used to connect with db.
//on post execute it stores the info received from the db into the shared preferences.
Connection_db connection = new Connection_db(
getActivity());
connection.execute(connection_request, getid);
// i tried to reinitialize the shared prefs in order to get the new values (i tried to use the SP from above but still won't work).
SharedPreferences prefs_update = getActivity().getSharedPreferences(
"MyPrefs", MODE_PRIVATE);
info_one = prefs_update.getString("info_one", "something");
textView.setText(info_one);
}
Я не могу использовать getApplicationContext внутри фрагмента. У меня также есть класс приложения, из которого я могу получить статический контекст, но все же я не могу заставить его работать, – Homombi
Правильно, позвольте мне обновить свой ответ через секунду – Ethan
Я до сих пор не могу получить новые значения, он все еще показывает предыдущий каждый раз, когда я перезапускаю свое приложение – Homombi