In meinem Kind Fragment habe ich einen Recyclerview, und ich hatte ein Appbar-Layout in meinem Elternteil Fragment. Wenn das erste Element des Recyclerview sichtbar ist, muss ich die appbar Layout in meinem Elternfragment aktualisierenKind Fragment zu Parent Fragment Kommunikation
Meine Schnittstelle
public interface OnListFirstItemVisibleListener {
public void sendDataToFragmentOnFirstItemVisible(boolean data, int dy);
}
in Kinder Fragment Klasse
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 Elternfragment Klasse
Ich implementierte die Schnittstelle
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 bekomme AppBar Layout als null
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.AppBarLayout.setExpanded(boolean)' on a null object
Wohin gehe ich falsch?
Vergewissern Sie sich zuerst, dass Ihre beiden Eltern und Kindfragmente sind in Aktivität aufgebläht. Ich denke, dass das Elternfragment in Ihrer Aktivität noch nicht aufgebläht ist und Sie versuchen, eine Methode aufzurufen. –
@prathamkesarkar Wie sicher? Ich rief es onAttach, immer noch nicht funktioniert – MrRobot9
onAttach hilft nicht dabei sicherzustellen, dass Ihre Ansichten aufgeblasen sind oder nicht –