Android BringChildToFront()不';不要在碎片状态页雷达中向后移动一个碎片
我一直在尝试对一些代码进行采样,以便在切换到一个新片段时,将一个按钮添加到linearLayout,并在离开片段时删除该按钮 只有在向一个方向滑动任意数量的碎片,然后向后移动一个碎片时,才会出现我似乎无法停止的问题。在删除索引0处的textView时,按钮似乎停留在最后一个索引处,而不是在索引0处删除按钮 然后,只要该特定片段处于活动状态的一次滑动范围内,它将在每次调用它时继续删除视图,直到所有视图都被删除,并且出现导致应用程序崩溃的错误 以下是我的片段的代码:Android BringChildToFront()不';不要在碎片状态页雷达中向后移动一个碎片,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我一直在尝试对一些代码进行采样,以便在切换到一个新片段时,将一个按钮添加到linearLayout,并在离开片段时删除该按钮 只有在向一个方向滑动任意数量的碎片,然后向后移动一个碎片时,才会出现我似乎无法停止的问题。在删除索引0处的textView时,按钮似乎停留在最后一个索引处,而不是在索引0处删除按钮 然后,只要该特定片段处于活动状态的一次滑动范围内,它将在每次调用它时继续删除视图,直到所有视图都被删除,并且出现导致应用程序崩溃的错误 以下是我的片段的代码: package com.time
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);
}
}
最后,我打算将LinearLayout更改为RelativeLayout,将按钮更改为textView,其中包含从数据库收集的数据。不确定这会改变什么,但我想我会包括它。this
LinearLayout timebar=(LinearLayout)rootView.findViewById(R.id.timebar)代码>在onCreateView
中引用,此LinearLayout timebar=(LinearLayout)getActivity().findViewById(R.id.timebar)onDestroyView
中引用的代码>与ViewGroup
s不同-您确定要引用相同的ViewGroup
?同时检查正在按预期调用的片段
回调。可能会发布问题的动画。我将顶部引用改为getActivity()
,而不是rootView
,只是为了看看这是否改变了什么,应用程序完全崩溃了。我将尝试找到一种方法来记录并发布正在发生的错误。无需-onActivityCreated
尚未在片段中调用,这意味着在onCreateView
中调用getActivity
将导致NullPointerException
,因此如何防止此问题?我应该用不同的方法改变布局吗?