Android获取视图片段返回Null

时间:2017-05-30 08:07:28

标签: android android-fragments

我有一个活动有两个片段,片段A和片段B.我想在用户触摸片段B中的按钮时显示隐藏在片段A中的视图。我该怎么做?我试图获取活动的整个布局并获取视图,但我得到一个空指针异常。

我的活动布局如下所示 enter image description here 这是我正在使用的线。它抛出一个空指针异常。

shadowLine = getActivity().findViewById(R.id.shadowLine);
shadowLine.setVisibility(View.VISIBLE);

1 个答案:

答案 0 :(得分:2)

最简单的方法,而不是最安全的方式: 您可以通过

访问片段B中的托管活动
HostActivity activity =(HostActivity) getActivity();
activity.callOtherFragment();

在该活动中,您可以通过

访问片段A.
public void callOtherFragment() {
    YourFragment A = (YourFragment)getFragmentManager().findFragmentById(R.id.fragmentA);
    A.showSomeStuff();
}

然后在片段A中实现你的方法:

public void showSomeStuff() {
  shadowLine.setVisibility(View.VISIBLE);
}