Fragment与Activity 接口回调交互
时间: 2024-05-07 15:23:09 浏览: 22
在 Android 中,Activity 可以包含多个 Fragment,如果需要在 Fragment 中触发 Activity 中的某个操作,或者从 Activity 中获取数据更新 Fragment 中的 UI 界面,可以通过接口回调的方式进行交互。
具体实现步骤如下:
1. 定义一个接口类用于 Fragment 与 Activity 之间的通信,例如:
```
public interface OnDataUpdateListener {
void onDataUpdate(String data);
}
```
2. 在 Fragment 中定义一个接口类型的变量,并在需要时调用该接口的方法,例如:
```
public class MyFragment extends Fragment {
private OnDataUpdateListener mListener;
// ...
public void doSomething() {
// ...
if (mListener != null) {
mListener.onDataUpdate("updated data");
}
}
}
```
3. 在 Activity 中实现该接口,并将该实现作为参数传递给 Fragment,例如:
```
public class MainActivity extends AppCompatActivity implements OnDataUpdateListener {
// ...
@Override
public void onDataUpdate(String data) {
// update UI with new data
}
private void showFragment() {
MyFragment fragment = new MyFragment();
fragment.mListener = this;
// ...
}
}
```
通过以上步骤,就可以在 Fragment 和 Activity 之间进行接口回调交互了。注意在使用接口回调时,需要注意空指针异常的情况。