Dưới đây là một số cách truyền dữ liệu từ Fragment qua Activity hoặc truyền dữ liệu từ Activity qua Fragment ( Pass values between Fragments and Activity or Transmit data from Fragment to Activity or Transmit data from Activity to Fragment or Send data from fragment to activity.)
1) to send data from fragment to activity
Gửi dữ liệu từ Fragment đến Activity
Intent intent = new Intent(getActivity().getBaseContext(), TargetActivity.class); intent.putExtra("message", message); getActivity().startActivity(intent);
2) to receive this data in Activity:
Nhận dữ liệu vừa gửi trên trong Activity
Intent intent = getIntent(); String message = intent.getStringExtra("message");
3) to send data from activity to another activity follow normal approach
Gửi dữ liệu từ Activity đến các Activity khác theo phương pháp bình thường
Intent intent = new Intent(MainActivity.this, TargetActivity.class); intent.putExtra("message", message); startActivity(intent);
4) to receive this data in Activity
Nhận dữ liệu từ Activity vừa gửi
Intent intent = getIntent(); String message = intent.getStringExtra("message");
5) from Activity you can send data to Fragment with intent as:
Gửi dữ liệu từ Activity đến Fragment
Bundle bundle = new Bundle(); bundle.putString("message", "From Activity"); //set Fragmentclass Arguments Fragmentclass fragobj = new Fragmentclass(); fragobj.setArguments(bundle);
6) and to receive in Fragment onCreateView method:
Nhận dữ liệu vừa gửi từ Activity trong hàm onCreateView của Fragment
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { String strtext = getArguments().getString("message"); return inflater.inflate(R.layout.fragment, container, false); }