我已经创建了一个底表,需要从一个片段中调用它。我尝试这样称呼它:
CreateSurveyBottomSheet survey = new CreateSurveyBottomSheet();
survey.show(getChildFragmentManager(), "Survey Sheet");
此后,我的Bottomsheet应该将数据发送回该片段:
private void sendData(SurveyObject object) {
mlistener.onButtonClicked(object);
}
public interface BottomSheetListener{
void onButtonClicked(SurveyObject object);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
mlistener = (BottomSheetListener) this.getContext();
}
我想在片段中接收它:
public void onButtonClicked(SurveyObject objecti) {
object = objecti;
IsSurveyExisting = true;
}
不幸的是,当我尝试使用此错误调用Bottomsheet Fragment时,我的应用程序崩溃了:
java.lang.ClassCastException: MainActivity cannot be cast to CreateSurveyBottomSheet$BottomSheetListener
该错误位于我的底部工作表中的OnAttach方法中。如果有人可以帮助我,那就太好了
答案 0 :(得分:1)
使您的MainActivity实现CreateSurveyBottomSheet $ BottomSheetListener