Fragment内部根据ID获取父Activity的空间,设置错乱的问题记录

一个Activity中包含四个Fragmeng   最底下有四个Tab标签页进行切换,出现问题的根本我觉得就是因为这个Tab存在于Activity中,(作用域的问题!),如图:Fragment内部根据ID获取父Activity的空间,设置错乱的问题记录

因为新加的功能要在第一个Fragment中进行某个按钮操作会自动跳转到第二个Fragment,然后下面的Tab显示也要跟着变颜色和图标,最开始我是这样写的在onCreatView中把tab的对象都获取到然后for循环直接到第二个的话变色和图标:Fragment内部根据ID获取父Activity的空间,设置错乱的问题记录Fragment内部根据ID获取父Activity的空间,设置错乱的问题记录

for (int i = 0 ; i <ImageViews.size();i++ ){
    if(1 == i){
        ImageViews.get(i).setVisibility(View.VISIBLE);
    }else{
        ImageViews.get(i).setVisibility(View.INVISIBLE);

    }
}

for (int i = 0 ; i <TextViews.size();i++ ){
    if(1 == i){
        TextViews.get(i).setTextColor(getResources().getColor(R.color.bluo));
    }else{
        TextViews.get(i).setTextColor(getResources().getColor(R.color.black_san));

    }
}
然后诡异的事情就出现了!!!!!!!!!第一个Tab的文本文字颜色竟然变了,然后第二个的图标变了  文本却没变!!!找了很久也没找到原因,然后换了种写法:在Activity中设置改变tab图标和文字颜色的方法setTabAndColor(),在Fragment中这么调用
( (MainActivity)getActivity()).setColorAndText();     

神奇的是竟然好了,没出现那种诡异事件了,个人觉得因为fragment存在于activity中,而tab存在于activity中,设置方法的地方作用域小于设置对象存在的作用域,但是既然设置没效果,为啥又有错误的显示效果,奇怪。反正得出这个教训,以后再不在fragment中改变activity中的视图对象了。。。。。。。