将FragmentStatePagerAdapter中的一个片段移回时BringChildToFront()不起作用

时间:2018-06-26 22:35:31

标签: android android-fragments android-viewpager

我一直在尝试一些代码示例,以便在切换到新片段时,将按钮添加到linearLayout中,并在离开片段时,将按钮移除。

我似乎无法停止的问题仅在向一个方向轻扫任意数量的片段然后向后移动一个片段时发生。而不是在索引0处删除按钮,而在索引0处的textView被删除时,该按钮似乎停留在最后一个索引处。

然后,只要特定片段处于活动状态一次滑动之内,它将在每次被调用时继续删除视图,直到所有视图都被删除并且发生错误导致应用崩溃为止。

这是我的片段的代码:

package com.timeblocks.timeblocks;

import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;

public class DaySliderFragment extends Fragment {


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        ViewGroup rootView = (ViewGroup) inflater.inflate(
                R.layout.single_day_content, container, false);

        Button testBut = new Button(getContext());
        LinearLayout timeBars = (LinearLayout) rootView.findViewById(R.id.timeBars);
        timeBars.addView(testBut);
        timeBars.bringChildToFront(testBut);

        return rootView;
    }


    @Override
    public void onDestroyView(){
        super.onDestroyView();

       LinearLayout timeBars = (LinearLayout) getActivity().findViewById(R.id.timeBars);
       timeBars.removeViewAt(0);

    }
}

Here is an animation of what is occuring

最终,我打算将LinearLayout更改为RelativeLayout,将按钮更改为textView,其中包含从数据库中收集的数据。不确定是否会改变任何东西,但认为我会包括在内。

0 个答案:

没有答案