Fragment向activity传数据
时间: 2024-02-01 15:14:16 浏览: 82
Fragment向Activity传递数据可以通过以下步骤实现:
1. 在Fragment中定义一个接口,该接口声明数据传递的方法。
```
public interface OnDataPass {
void onDataPass(String data);
}
```
2. 在Fragment中创建一个OnDataPass类型的变量,并在需要传递数据的地方调用该变量的onDataPass方法。例如:
```
public class MyFragment extends Fragment {
OnDataPass dataPasser;
@Override
public void onAttach(Context context) {
super.onAttach(context);
dataPasser = (OnDataPass) context;
}
private void sendData() {
String data = "Hello, Activity!";
dataPasser.onDataPass(data);
}
}
```
3. 在Activity中实现OnDataPass接口,并在onDataPass方法中接收传递的数据。例如:
```
public class MyActivity extends AppCompatActivity implements MyFragment.OnDataPass {
@Override
public void onDataPass(String data) {
Log.d("Data received", data);
}
}
```
注意:在调用onDataPass方法之前,需要确保Activity已经实现了OnDataPass接口,并且在Fragment中通过onAttach方法获取了Activity的引用。
阅读全文