Добавленный фрагмент прокручивается вниз

У меня есть два фрагмента: первый фрагмент содержит список линейных макетов, и весь фрагмент находится в режиме прокрутки, добавляется второй фрагмент, а первый скрыт при выборе элемента из первого. Проблема заключается в том, что второй фрагмент создается с прокруткой вниз, если первый фрагмент был прокручен вниз. Я пытался заставить второй фрагмент прокручиваться до (0,0), но не смог.

код, используемый для добавления второго фрагмента

public void setActionOnClick(String id) {
     CommentFragment frag = new CommentFragment();
     Bundle bundle = new Bundle();
     bundle.putString("id", id);
     bundle.putString("TAG", TAG_NEWS_STORY);
     ((MainActivity) getActivity()).setCurrentTag(TAG_NEWS_STORY);
     frag.setArguments(bundle);
     android.support.v4.app.FragmentTransaction fragmentTransaction = 
     getActivity().getSupportFragmentManager().beginTransaction();
     fragmentTransaction.setCustomAnimations(android.R.anim.fade_in, 
     android.R.anim.fade_out);
     fragmentTransaction.add(R.id.main_content, frag, TAG_NEWS_STORY);
     fragmentTransaction.addToBackStack(null);
     fragmentTransaction.commit();
}

при присоединении второго фрагмента первый фрагмент скрывается. Я не хочу использовать fragmentTransaction.replace, потому что есть вызовы API, которые я не хочу перезагружать.


person Mark Samy    schedule 14.11.2017    source источник
comment
Вы нашли решение этой проблемы?   -  person Kathir    schedule 18.02.2019


Ответы (2)


это старый вопрос, но. вероятно, ваш фрагмент place_hoder находится внутри прокрутки. просто проверьте, находится ли R.id.main_content в прокрутке или нет. вы должны добавить ScrollView к fragment-layout вместо создания экземпляра фрагмента внутри одного

person alireza easazade    schedule 11.07.2019

Перед этим:

android.support.v4.app.FragmentTransaction fragmentTransaction = 
 getActivity().getSupportFragmentManager().beginTransaction();

Добавьте код для удаления старого фрагмента:

getSupportFragmentManager().beginTransaction().remove(yourOldFragment).commitAllowingStateLoss();
person Muhammad Saad Rafique    schedule 14.11.2017
comment
Я не хочу удалять старый фрагмент, и у меня он не работает, он тоже прокручивается. - person Mark Samy; 14.11.2017