Kinderfragment-zu-Elternfragment-Kommunikation
In meinem untergeordneten Fragment habe ich einen Recyclerview und in meinem übergeordneten Fragment ein Appbar-Layout. Wenn das erste Element des Recyclerview sichtbar ist, muss das Layout der App-Leiste in meinem übergeordneten Fragment @ aktualisiert werde
Meine Schnittstelle
public interface OnListFirstItemVisibleListener {
public void sendDataToFragmentOnFirstItemVisible(boolean data, int dy);
}
in Klasse für untergeordnete Fragmente
public class MyChildFragment extends Fragment{
private OnListFirstItemVisibleListener mListFirstItemVisibleListener;
.............
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mListFirstItemVisibleListener=(OnListFirstItemVisibleListener) new ParentFragment();
return view;
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
if(mLinearLayoutManager.findFirstCompletelyVisibleItemPosition()==0&&mListFirstItemVisibleListener != null){
mListFirstItemVisibleListener.sendDataToFragmentOnFirstItemVisible(true,dy);
}else{
mListFirstItemVisibleListener.sendDataToFragmentOnFirstItemVisible(false,dy);
}
}
In Klasse "Übergeordnetes Fragment"
Ich habe die Schnittstelle implementiert
public class MyParentFragment extends Fragment implements OnListFirstItemVisibleListener{
............
@Override
public void sendDataToFragmentOnFirstItemVisible(boolean data, int dy) {
if (dy < 0&&data==true)
mAppBarLayout.setExpanded(true);
}
}
Aber ich erhalte das Appbar-Layout als null
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.AppBarLayout.setExpanded(boolean)' on a null object
Wo gehe ich falsch?