首页 > 解决方案 > 如何从另一个片段调用一个片段中的方法

问题描述

我正在使用一个容器片段(主),其中包含另外两个片段(比如说 A 和 B),主片段包含一些方法,当用户按下两个片段(A 和 B)中的任何一个中的按钮时需要调用这些方法。

我使用了静态方法(然后通过制作主片段的对象来调用这些方法)并且它运行良好,但这不是最佳实践,并且还会降低移动应用程序的性能。有人告诉我使用接口来调用方法,但我不知道如何使用接口来实现我的任务。我需要调用的主要片段的代码

public void updateEditText(int i) {

    switch (i) {
        case 1:
            bottomSheetBehaviorTeacher.setState(BottomSheetBehavior.STATE_EXPANDED);
            break;
        case 2:
            bottomSheetBehaviorStudent.setState(BottomSheetBehavior.STATE_EXPANDED);
            break;
        case 3:
            bottomSheetBehaviorAdmin.setState(BottomSheetBehavior.STATE_EXPANDED);
            break;


    }

}

当用户在片段 A 中按下这些按钮时

addTeachers.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

          //listener.onInputASent(1);

        }
    });

    addStudents.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            //listener.onInputASent(2);
        }
    });

在片段 B

addAdminbtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            //mainLayoutFragment.BottomSheet_layout_admin();
            //listener.onInputASent(3);
        }
    });

标签: androidoopfragment

解决方案


推荐阅读