Android: в классе фрагмента при доступе к переменной класса Activity через метод getter значение переменной остается равным 0 - PullRequest
0 голосов
/ 10 октября 2018

У класса Activity есть целое число в методе onCreate, которое устанавливается через getIntent.

    pos = getIntent().getIntExtra("position", -1); 

-1 - это значение по умолчанию для getIntExtra (), "position" - это ключ, в котором я хранюэто в другом классе.Это значение должно быть динамическим для кликов, и это так.Однако при доступе к нему в классе фрагмента с помощью метода getpos () действия он всегда возвращает 0. Почему?

Это метод OnCreate класса Acitivity:

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);
        pos = getIntent().getIntExtra("position", -1);}

Это AcctivityМетод получения класса для pos:

public int get(){
        return pos;
    }

Это метод onCreateView фрагмента:

//an inflater
    Activity my=(Activity) getActivity();
    int posfrag = my.get();

Я пытаюсь получить доступ к позициям элемента Recycler View через это, однако здесь не используется посфрагt обновляется во фрагменте, хотя pos корректно обновляется в методе Activity.Проблема заключается в передаче этого сохраненного значения фрагменту.

1 Ответ

0 голосов
/ 31 октября 2018

Попробуйте получить значение pos в методе onActivityCreated () внутри вашего фрагмента.

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    // retrieve your variable value here
}
...