我有两个片段,第一个片段包含线性布局列表,整个片段在滚动视图中,第二个片段被添加,第一个片段从第一个片段中选择项目时隐藏。 问题是如果第一个片段向下滚动,则向下滚动创建第二个片段。 我尝试了强制第二个片段滚动到(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();
}
on附加第二个片段隐藏第一个片段。 我不想使用fragmentTransaction.replace,因为有一些我不想重新加载的api调用。
答案 0 :(得分:0)
在此之前:
android.support.v4.app.FragmentTransaction fragmentTransaction =
getActivity().getSupportFragmentManager().beginTransaction();
添加代码以删除旧片段:
getSupportFragmentManager().beginTransaction().remove(yourOldFragment).commitAllowingStateLoss();
答案 1 :(得分:0)
这是一个老问题了。可能您的片段place_hoder
在滚动视图中。
只需检查R.id.main_content
是否在滚动视图中即可。
您应该将ScrollView
添加到fragment-layout
而不是实例化片段内部的片段