Mark Samy
Mark Samy

Reputation: 148

Added fragment scrolled down

I have two fragments the first fragment contains list of linear layouts and the whole fragment is in scroll view the second fragment is added and the first is hidden on choosing item from the first. The problem is the second fragment is created scrolled down if the first fragment was scrolled down. I tried the ways to force second fragment to be scrolled to (0,0) but failed.

the code used to add the second fragment

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();
}

on Attach of second fragment the first fragment is hidden. I don't want to use fragmentTransaction.replace because there are calls to the api which I don't want to reload.

Upvotes: 3

Views: 185

Answers (2)

alireza easazade
alireza easazade

Reputation: 3822

this is an old question but. probably your fragment place_hoder is inside an scrollview. just check if R.id.main_content is in a scrollview or not. you should add the ScrollView to the fragment-layout instead of instantiating the fragment inside one

Upvotes: 1

Muhammad Saad Rafique
Muhammad Saad Rafique

Reputation: 3189

Before this:

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

Add code to remove old fragment:

getSupportFragmentManager().beginTransaction().remove(yourOldFragment).commitAllowingStateLoss();

Upvotes: 0

Related Questions