Android 如何在片段中onCreateView之后再次访问视图?

Android 如何在片段中onCreateView之后再次访问视图?,android,android-fragments,fragment,fragmentpageradapter,Android,Android Fragments,Fragment,Fragmentpageradapter,实际上,我在FragmentPagerAdapter中使用Fragments,但当我再次尝试在fragment中访问视图时,我遇到了一个空的问题。pageNum也为null。我尝试了很多方法来解决这个问题,但都没有成功 FirstFragment.java public class FirstFragment extends Fragment{ private int pageNum; private TextView titleTxt; private LinearLa

实际上,我在FragmentPagerAdapter中使用Fragments,但当我再次尝试在fragment中访问视图时,我遇到了一个空的问题。pageNum也为null。我尝试了很多方法来解决这个问题,但都没有成功

FirstFragment.java

public class FirstFragment extends Fragment{
    private int pageNum;
    private TextView titleTxt;
    private LinearLayout topPan;

    public static FirstFragment newInstance(int page) {
        FirstFragment fragment = new FirstFragment();
        Bundle args = new Bundle();
        args.putInt("page", page);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        pageNum = getArguments().getInt("page", 0);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.workflow_item_layout, container, false);
        titleTxt = (TextView)    view.findViewById(R.id.title);
        topPan   = (FrameLayout) view.findViewById(R.id.top_pan);
    }

    public void setTopPanVisible(boolean isVisible) {
        topPan.setVisibility(isVisible);
    }
pageChangeListener代码

private ViewPager.OnPageChangeListener pageChangeListener = new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }

        @Override
        public void onPageSelected(int position) {
        }

        @Override
        public void onPageScrollStateChanged(int state) {
            final int position = pager.getCurrentItem();

            if (state == ViewPager.SCROLL_STATE_IDLE) {
                final FirstFragment fragment = (FirstFragment) adapter.getItem(position);
                fragment.setTopPanVisible(true);

在pageChangeListener中调用“setTopPanVisible”时,topPan为null。视图如何保持活动状态以获得价值

如果您得到一个空指针异常,那么这意味着两件事之一:

  • 在调用片段的
    onCreateView()
    方法之前,您正在调用
    setTopPanVisible()
  • 或者你
    view.findviewbyd(R.id.top\u pan)

  • 为了解决此问题,您应该找出您面临的问题。

    我想在生成片段后更改topPan的可见性,因此,我需要在调用onCreateView后调用setTopPanVisible。您面临的问题是哪一个#1或2?正是1,我正在寻找并尝试。