Android MainActivity无法转换为Bottomsheetlistener

时间:2019-07-10 20:18:19

标签: android fragment

我已经创建了一个底表,需要从一个片段中调用它。我尝试这样称呼它:

  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方法中。如果有人可以帮助我,那就太好了

1 个答案:

答案 0 :(得分:1)

使您的MainActivity实现CreateSurveyBottomSheet $ BottomSheetListener