Отобразить значение в textView

315
05 января 2017, 05:51

В одном из своих фрагментов, сохраняю нажатый элемент :

private void saveFavorites(int position) {
    String name = personCategories.get(position);
    SharedPreferences sp = getActivity().getPreferences(Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putString("Favorites", name);
    editor.apply();
}

После чего в другмо фрагменте пытаюсь отобразить значение, которое сохранил, подскажите пожалуйста как можно его отобразить, код второго фрагмента:

public class FavoritesFragment extends BaseFragment {
TextView someText;
public FavoritesFragment() {
    // Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    return inflater.inflate(R.layout.favorites_fragment, container, false);
//        someText.getText(getFavorites());
}
private void getFavorites() {
    SharedPreferences sp = getActivity().getPreferences(Context.MODE_PRIVATE);
    String name = sp.getString("Favorites", null);
}
Answer 1

Вам надо после загрузки разметки найти в ней нужную вьюху и в неё присвоить нужное значение в виде текста. Вы же пытались получить текст из неинициализированной вьюхи, с помощью несуществующего метода, да ещё и передав туда аргумент со значением void, да ещё и после завершения метода. Т.е. вы в одной строке допустили 3 ошибки компиляции, 1 логическую ошибку и одну ошибку в рантайме (NPE)

Исправьте код так:

public class FavoritesFragment extends BaseFragment {
    TextView someText;
    public FavoritesFragment() {
        // Required empty public constructor
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.favorites_fragment, container, false);
        someText = v.findViewById(R.id.ТУТ_ID_ТЕКСТОВОГО_ПОЛЯ_ИЗ_РАЗМЕТКИ_ФРАГМЕНТА);
        someText.setText(getFavorites());
        return v;
    }
    private String getFavorites() {
        SharedPreferences sp = getActivity().getPreferences(Context.MODE_PRIVATE);
        return sp.getString("Favorites", "ПУСТАЯ СТРОКА В ПРЕФАХ");
    }
}
READ ALSO
В чем отличие getExternalFilesDir от getExternalStorageDir?

В чем отличие getExternalFilesDir от getExternalStorageDir?

В чем отличие getExternalFilesDir от getExternalStorageDir???

354
NullPointerException при клике на элемент

NullPointerException при клике на элемент

Есть список имен, по которому нажимаюПосле чего должен сохраняться нажатый элемент, который я использую в другом фрагменте

293
Ошибка при отправке файла на сервер Retrofit2

Ошибка при отправке файла на сервер Retrofit2

Отправляю файл на сервер с помощью Retrofit2, использую POST метод для отправки файла, POST метод принимает два параметра "file" и "shared-with":

299
Java. Совместимось интерфейсов

Java. Совместимось интерфейсов

В Java 15 был введен интерфейс Closeable с одним методом close()

273