переход сцены в неправильный элемент - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть обзор переработчика, заполненный предметами.Я использую пожарный магазин как хранилище данных.Вот как я устанавливаю имя перехода во время onBindViewHolder в моем адаптере.

expressionView.setTransitionName(MainActivity.FIELD_EXPRESSION + snapshot.getId());
        definitionView.setTransitionName(MainActivity.FIELD_DEFINITION + snapshot.getId());
        buttonsView.setTransitionName("buttons" + snapshot.getId());

И вот как я называю операцию детализации в моем фрагменте:

ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(getActivity(),
            Pair.create(expressionView, ViewCompat.getTransitionName(expressionView)),
            Pair.create(definitionView, ViewCompat.getTransitionName(definitionView)),
            Pair.create(buttonsView, ViewCompat.getTransitionName(buttonsView)));

    Log.d(TAG, "transitionName: "+ ViewCompat.getTransitionName(expressionView));
    Log.d(TAG, "transitionName: "+ ViewCompat.getTransitionName(definitionView));
    Log.d(TAG, "transitionName: "+ ViewCompat.getTransitionName(buttonsView));

    /*ActivityOptions options = ActivityOptions.makeCustomAnimation(getActivity(), R.anim
            .activity_in, R.anim.activity_out);*/

    startActivity(intent, options.toBundle());

И в операции детализацииЯ установил имя перехода следующим образом:

mExpressionView.setTransitionName(MainActivity.FIELD_EXPRESSION + mEntryId);
    mDefinitionView.setTransitionName(MainActivity.FIELD_DEFINITION + mEntryId);
    mButtonsView.setTransitionName("buttons" + mEntryId);

Переход от элемента просмотра вторичного окна к детальному действию работает нормально.Но когда я нажимаю кнопку «Назад», переход не возвращается к выбранному элементу.На самом деле более одного элемента анимированы.Я также включил общий переход элемента в моем стиле

1 Ответ

0 голосов
/ 21 апреля 2019

Звонок mAdapter.setHasStableIds(true); решить проблему

...