2017-05-30 104 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); 
}