在 Android 导航组件中,当一个Fragment需要向它所属的Activity或另一个Fragment传递信息时,通常使用回调接口实现监听器模式。具体步骤如下:
public class MyFragment extends Fragment { private MyFragmentListener mListener;
public interface MyFragmentListener {
void onMyFragmentEvent();
}
public void setMyFragmentListener(MyFragmentListener listener) {
mListener = listener;
}
// ...
}
public class MainActivity extends AppCompatActivity implements MyFragment.MyFragmentListener { // ... @Override public void onMyFragmentEvent() { // 处理事件 } }
public class MyFragment extends Fragment { // ... private void someMethod() { if (mListener != null) { mListener.onMyFragmentEvent(); } } }
public class MainActivity extends AppCompatActivity { // ... private void addFragment() { MyFragment fragment = new MyFragment(); fragment.setMyFragmentListener(this); getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment).commit(); } }
这样,当MyFragment的某个事件触发时,它会调用监听器接口方法onMyFragmentEvent(),并由Activity或其他Fragment进行处理。