在一个名为Fragment_showFood的Fragment程序中,要想设置另一个Fragment页面的控件的值,如何做到
时间: 2023-12-10 10:40:39 浏览: 106
在一个Fragment中要设置另一个Fragment中的控件值,可以使用Fragment之间的通信机制。
1. 定义一个接口来传递数据。
```
public interface OnDataPass {
void onDataPass(String data);
}
```
2. 在Fragment_showFood中实现该接口,并重写onDataPass()方法。
```
public class Fragment_showFood extends Fragment implements OnDataPass {
// ...
@Override
public void onDataPass(String data) {
// 设置另一个Fragment中控件的值
Fragment_another fragment_another = (Fragment_another) getFragmentManager().findFragmentById(R.id.fragment_another);
fragment_another.setText(data);
}
// ...
}
```
3. 在另一个Fragment中调用接口方法。
```
public class Fragment_another extends Fragment {
private OnDataPass dataPasser;
@Override
public void onAttach(Context context) {
super.onAttach(context);
dataPasser = (OnDataPass) context;
}
public void setData(String data) {
dataPasser.onDataPass(data);
}
// ...
}
```
4. 在需要设置另一个Fragment中控件的值的地方调用setData()方法。
```
Fragment_another fragment_another = new Fragment_another();
fragment_another.setData("Hello World");
```
阅读全文