我正在使用一个容器片段(main),其中包含另外两个片段(假设A和B),主片段包含一些方法,当用户按下两个片段中的一个(A和B)中的一个按钮时,需要调用这些方法B)。
我使用了静态方法(然后通过使主要Fragment对象成为对象来调用这些方法)并且运行良好,但这不是最佳实践,而且还会降低移动应用程序的性能。有人告诉我使用接口来调用该方法,但是我不知道如何使用接口来实现我的任务。 我需要调用的主要片段片段的代码
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);
}
});