Ketika bekerja dengan fragmen, saya telah menggunakan kelas yang terdiri dari metode statis yang mendefinisikan tindakan pada fragmen. Untuk setiap proyek yang diberikan, saya mungkin memiliki kelas yang dipanggil FragmentActions
, yang berisi metode yang mirip dengan yang berikut:
public static void showDeviceFragment(FragmentManager man){
String tag = AllDevicesFragment.getFragmentTag();
AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag);
if(fragment == null){
fragment = new AllDevicesFragment();
}
FragmentTransaction t = man.beginTransaction();
t.add(R.id.main_frame, fragment, tag);
t.commit();
}
Saya biasanya akan memiliki satu metode per layar aplikasi. Saya melakukan sesuatu seperti ini ketika saya bekerja dengan database lokal kecil (biasanya SQLite) jadi saya menerapkannya pada fragmen, yang tampaknya memiliki alur kerja yang serupa; Saya belum menikah dengan itu.
Bagaimana Anda mengatur aplikasi Anda untuk berinteraksi dengan API Fragmen, dan pola desain apa (jika ada) yang menurut Anda berlaku melakukan ini?
design-patterns
android
Anthony Naddeo
sumber
sumber
Jawaban:
Pola yang diterima adalah memiliki metode pabrik di dalam kelas fragmen khusus Anda (biasanya disebut newInstance () tapi hei pilihan dealer). Jadi kelas fragmen Anda akan terlihat seperti ini:
Kemudian, ketika Anda membuat fragmen dan menambahkannya ke backstack, alih-alih mengatakan:
Fragmen MyFragment = MyFragment baru ();
Anda dapat menggunakan metode pabrik alih-alih kata kunci 'baru'.
sumber