Java 为什么在使用getactivity()查找视图时,有时会跳过在FragmentPagerAdapter中创建的片段?

Java 为什么在使用getactivity()查找视图时,有时会跳过在FragmentPagerAdapter中创建的片段?,java,android,android-fragments,android-viewpager,fragmentpageradapter,Java,Android,Android Fragments,Android Viewpager,Fragmentpageradapter,我正在使用FragmentPagerAdapter创建片段A的多个实例 我尝试了两种在fragement A中查找视图的方法: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment Vie

我正在使用FragmentPagerAdapter创建片段A的多个实例

我尝试了两种在fragement A中查找视图的方法:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v= inflater.inflate(R.layout.fragment_cat_table, container, false);
    title = (TextView) v.findViewById(R.id.cat_title);
    pagenum = (TextView) v.findViewById(R.id.page_number);
    title.setText(catName);
    pagenum.setText("page #"+String.valueOf(catIndex));
    return v;
}
上述代码工作正常,视图来自充气机。 但第二种方式是:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    title = (TextView) getActivity().findViewById(R.id.cat_title);
    pagenum = (TextView) getActivity().findViewById(R.id.page_number);
    title.setText(catName);
    pagenum.setText("page #"+String.valueOf(catIndex));
}
通过这种方式,我使用
getactivity()
查找视图。 奇怪的事情发生了:如果我有两个页面,其中有两个片段A的实例:片段A_0,片段A_1,那么片段A_0将不会显示,片段A_1将显示在页面0中。第1页将包含一个原始片段a:未设置片段中的所有文本视图(title和pagenum)


我很好奇为什么会发生这种事。

想了一想后,我明白了。 pageadapter将提前创建片段,以便在片段出现在屏幕上之前调用
onActivityCreated
。因此,如果我在创建的活动中找到视图,它可能会在当前显示的其他页面/片段中找到视图并对其进行修改