2017-05-30 108 views
0

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

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

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

您可以使用Interface进行回叫或用户Broadcast以更新您的视图。 – Akash

+0

请看看这里:https://stackoverflow.com/questions/13700798/basic-communication-between-two-fragments –

+0

你能告诉我完整的代码吗? – MageNative

回答

2

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

HostActivity activity =(HostActivity) getActivity(); 
activity.callOtherFragment(); 

访问B片段主办的活动在此活动中,您可以访问片段A,通过

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

然后在片段A中实施您的方法:

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