安卓——如何解决Fragment界面重新绘制问题

今天在做安卓大作业的时候碰到一个问题,就是我添加一个fragment之后,在它的xml文件里面添加GridView,发现运行后从另一个fragement切换到这个fragment之后,GridView所显示的内容会重复变多,难受了好久终于找到解决办法。

private View rootView;
 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        //避免重复调用onCreateView()方法
        if (rootView == null)
        {
            rootView = inflater.inflate(R.layout.fragment_my, container, false);
            // 在此处调用你初始化控件的方法
        }
        // 缓存的mView需要判断是否已经被加过parent,如果有parent需要从parent删除,要不然会发生这个rootView已经有parent的错误。
        ViewGroup parent = (ViewGroup) rootView.getParent();
        if (parent != null)
        {
            parent.removeView(rootView);
        }
        return mView;
    }

到此结束

你可能感兴趣的:(安卓——如何解决Fragment界面重新绘制问题)