Squ*_*ire 22 android android-viewpager android-actionbar
我有一个标签+ ViewPager布局,在其中一个标签中我有一个列表视图.当我在onclick上替换该列表片段时,我仍然可以看到新片段下的旧片段.看到:

码:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
HallsInStateFragment hallsForState = new HallsInStateFragment();
transaction.replace(R.id.container, hallsForState);
transaction.addToBackStack(null);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)
其中R.id.container是视图中的FrameLayout.
tar*_*pra 10
当需要从父视图中删除所有视图时,您需要在片段的onCreateView()方法中的容器中调用removeAllViews()。
这是代码:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
container.removeAllViews(); // Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_example, container, false);
}
Run Code Online (Sandbox Code Playgroud)
而不是R.id.container像这样放置片段的id : ((ViewGroup)getView().getParent()).getId(). 实际上它不是替换片段而是替换先前的布局,即FrameLayout.它适用于我,我希望它也适用于你的情况.
将此添加到两个片段父布局
android:background="@android:color/white".
您正在替换的一个和您将替换的一个。
| 归档时间: |
|
| 查看次数: |
12695 次 |
| 最近记录: |