Rumah >Java >javaTutorial >Bagaimanakah anda boleh melaksanakan komunikasi antara Fragmen dan Penyesuai dalam Android?
Pelaksanaan Antara Muka antara Fragmen dan Penyesuai
Dalam bidang pembangunan Android, antara muka antara serpihan dan penyesuai adalah tugas biasa. Untuk memudahkan ini, CursorAdapter tersuai boleh digunakan dengan antara muka penyesuai yang dibenamkan di dalamnya. Antara muka ini berfungsi sebagai saluran komunikasi antara penyesuai dan serpihan.
Pertimbangkan senario di mana serpihan (MyListFragment) mengandungi ListView dan CursorAdapter tersuai. Setiap baris dalam senarai mengandungi butang, dan apabila mengkliknya, tindakan perlu dilakukan dalam serpihan. Untuk mencapai matlamat ini, antara muka, AdapterInterface, ditakrifkan dalam penyesuai.
public class MyListAdapter extends CursorAdapter { public interface AdapterInterface { public void buttonPressed(); } private AdapterInterface buttonListener; // ... }
Dalam kaedah bindView penyesuai, OnClickListener ditetapkan untuk butang dalam setiap baris.
@Override public void bindView(final View view, final Context context, final Cursor cursor) { // ... holder.button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // some action // need to notify MyListFragment if (buttonListener != null) { buttonListener.buttonPressed(); } } }); }
AdapterInterface harus dilaksanakan dalam serpihan (MyListFragment) untuk mengendalikan klik butang acara.
public class MyListFragment extends Fragment implements AdapterInterface { @Override public void buttonPressed() { // some action } }
Untuk mewujudkan komunikasi antara penyesuai dan serpihan, pembina baharu diperkenalkan dalam penyesuai, bersama-sama dengan pembolehubah contoh untuk memegang rujukan antara muka.
AdapterInterface buttonListener; public MyListAdapter (Context context, Cursor c, int flags, AdapterInterface buttonListener) { super(context,c,flags); this.buttonListener = buttonListener; }
Apabila mencipta penyesuai, serpihan dihantar sebagai hujah kepada pembina untuk menyediakan pelaksanaan antara muka.
MyListAdapter adapter = new MyListAdapter (getActivity(), myCursor, myFlags, this);
Pendekatan ini memastikan bahawa apabila butang dalam penyesuai diklik, butangKaedah yang ditekan dalam serpihan digunakan, memudahkan komunikasi yang diingini antara penyesuai dan serpihan.
Atas ialah kandungan terperinci Bagaimanakah anda boleh melaksanakan komunikasi antara Fragmen dan Penyesuai dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!