30/09/2018, 21:38

Làm thế nào để Activity notify Fragment thực hiện một phương thức trên chính Activity đó

Hi các bạn!

Dạo này qua bên này buồn chán quá không có việc làm rảnh rỗi sinh nông nổi. Mình muốn tạo một seri các topic liên quan đến việc thảo luận các bàn toán thường hay gặp phải trong Android.

###Topic đầu tiên mình muốn đề cập đến là:

Làm thế nào để Activity yêu cầu Fragment chứa trong Activity đó thực hiện một task có sử dụng tài nguyên của chính Activity đó

###Một số phương án:

####Phương án 1:

Theo em thì có thể dùng cách này : http://truongphamit.github.io/blog/android-giao-tiep-2-fragment/

####Phương án 2:

  1. Lúc Activity add hoặc replace 1 Fragment vào 1 container của bản thân nó, điều này cũng tạo ra 1 instance của thằng Fragment đó ở trong Activity đó. Dựa vào instance đó mà ta gọi trực tiếp trong Fragment ra
  2. getFragmentManager() ở Activity, kiểm tra instanceof Fragment có đúng Fragment đó không, sau đó do st.
Truong Pham viết 23:41 ngày 30/09/2018

Mình muốn tạo một seri các topic liên quan đến việc thảo luận các bàn toán thường hay gặp phải trong Android.

Theo em thì có thể dùng cách này : http://truongphamit.github.io/blog/android-giao-tiep-2-fragment/

Trương Vũ viết 23:50 ngày 30/09/2018

Hi anh Tâm,
Theo em sẽ có 2 phương án làm như sau:

  1. Lúc Activity add hoặc replace 1 Fragment vào 1 container của bản thân nó, điều này cũng tạo ra 1 instance của thằng Fragment đó ở trong Activity đó. Dựa vào instance đó mà ta gọi trực tiếp trong Fragment ra
  2. getFragmentManager() ở Activity, kiểm tra instanceof Fragment có đúng Fragment đó không, sau đó do st.

Buồn chán quá về đây dậy em đi

Tâm Ninja viết 23:38 ngày 30/09/2018

Bao giờ tiếng Nhậ t anh N2 rồi anh về nhé… Ngoài lề một chút.

  1. Lúc Activity add hoặc replace 1 Fragment vào 1 container của bản thân nó, điều này cũng tạo ra 1 instance của thằng Fragment đó ở trong Activity đó. Dựa vào instance đó mà ta gọi trực tiếp trong Fragment ra
  2. getFragmentManager() ở Activity, kiểm tra instanceof Fragment có đúng Fragment đó không, sau đó do st.

Theo như cách trên của em thì getFragmentManager() sẽ lấy ra FragmentManager chứ đâu có lấy ra Fragment instance đâu nhỉ?

Trương Vũ viết 23:40 ngày 30/09/2018

Vâng, em lấy ra cái FragmentManager, rồi lấy Fragment added theo findById hoặc Tag, hoặc lấy ra list các Fragment đã add vào FragmentManager, kiếm cái nào có instance của Fragment mình cần thì xài cái đó ạ.

Bài liên quan
0