2017-05-30 20 views
0

フラグメントAとフラグメントBの2つのフラグメントを持つアクティビティがあります。フラグメントBのボタンにユーザーが触れたときに、フラグメントAに隠れているビューを表示したいのですがどうすればいいですか?私は、アクティビティ全体のレイアウトを取得してビューを取得しようとしましたが、nullポインタ例外が発生します。Androidでフラグメントを返すNullを返す

私の活動のレイアウトは次のとおりです enter image description here これは私が使用している行です。それは、NULLポインタ例外をスローします。

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

コールバック用のインターフェイスまたはビューの更新用のユーザーブロードキャストを使用できます。 – Akash

+0

ここをクリックしてください。https://stackoverflow.com/questions/13700798/basic-communication-between-two-fragments –

+0

完全なコードを表示できますか? – MageNative

答えて

2

最も簡単な方法ではなく、最も安全な: あなたがその活動に

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

によりフラグメントBにホスティングアクティビティにアクセスすることができ、あなたは

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

により、フラグメントAにアクセスすることができますフラグメントAでメソッドを実装します。

public void showSomeStuff() { 
    shadowLine.setVisibility(View.VISIBLE); 
} 
関連する問題