如何从子片段更改父片段的视图可见性?

时间:2019-06-08 06:55:53

标签: java android xml android-fragments

我正在使用具有层次结构的嵌套片段,如下所示: MainActivity>父片段>子片段。 mainactivity保留了几个父片段,例如fragment10,fragment11,fragment12。 在父片段上也保留了一些片段,例如fragmentinti,fragmentdasar,fragmentindikator。 在fragment10我阻止了listview的hv relativelayout,如果我没有hv数据,则recyclerview显示信息。 在fragmentinti上,如果必须将fragment10上的hv数据relativelayout必须设置为可见,则从API获取信息。

我试图在stackoverflow上使用一些代码,但是它仍然给我一个错误,

我测试过的第一个代码

fragmentKelas10 = (fragmentKelas10) getParentFragment();
fragmentKelas10.getView().findViewById(R.id.nodata).setVisibility(View.GONE);

fragmentKelas19 parentFrag = ((fragmentKelas10)fragmentKompetensiInti.this.getParentFragment());
parentFrag.setVisibilityNoData(View.GONE);

第三

(fragmentkelas10 getparentfragment()).setvisivity(View.GONE);

在我的父母片段上,我添加了公共方法

public void setVisibilityNoData(int visibility){
        nodata.setVisibility(visibility);
    }

*没有数据是相对布局

我尝试过的所有上述代码都返回错误消息,

  

试图在空对象引用上调用虚拟方法'android.view.View edu.stikom.molearn.fragment.fragmentKelas10.getView()'

1 个答案:

答案 0 :(得分:0)

制作要返回以实现OnFragmentInteractoinLister的活动或片段,并且在不调用任何数据时,它可以返回该片段或活动,并且您可以隐藏所需的任何内容。

0: (5) ["2", "X", "8", "11", "15"] 
1: (5) ["1", "5", "X", "X", "14"]
2: (5) ["X", "4", "7", "10", "13"]
3: (5) ["X", "3", "6", "9", "12"]