有两个fragment ,第一个fragment 添加数据 另一个fragment listview更新
时间: 2024-03-21 07:37:59 浏览: 60
利用fragment实现listview和gridview的切换
5星 · 资源好评率100%
可以通过使用接口来实现fragment之间的通信。首先,在第一个fragment中定义一个接口,该接口包含一个方法,用于向第二个fragment传递数据。然后,在第二个fragment中实现该接口,以便在接收到数据时更新listview。
以下是实现此功能的示例代码:
在第一个fragment中定义接口:
```
public interface OnDataChangeListener {
void onDataChanged(String data);
}
```
在第一个fragment中调用接口方法,并将数据传递给第二个fragment:
```
OnDataChangeListener listener = (OnDataChangeListener) getActivity();
listener.onDataChanged("new data");
```
在第二个fragment中实现接口,并在接收到数据时更新listview:
```
public class SecondFragment extends Fragment implements OnDataChangeListener {
private ListView listView;
private ArrayAdapter<String> adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_second, container, false);
listView = view.findViewById(R.id.list_view);
adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_list_item_1, new ArrayList<>());
listView.setAdapter(adapter);
return view;
}
@Override
public void onDataChanged(String data) {
adapter.add(data);
adapter.notifyDataSetChanged();
}
}
```
在这个示例中,当第一个fragment调用接口方法时,会触发第二个fragment的onDataChanged方法,该方法将数据添加到adapter中,并通知listview更新。
阅读全文