Mencipta Antara Muka antara Fragmen dan Penyesuai
Apabila berurusan dengan serpihan yang mengandungi ListView dan CursorAdapter tersuai, mewujudkan komunikasi antara mereka menjadi penting . Untuk mencapai matlamat ini, antara muka boleh menyediakan penyelesaian yang bersih dan cekap.
Definisi Antara Muka
Dalam kelas penyesuai, tentukan antara muka yang mentakrifkan kaedah yang akan digunakan apabila butang ditekan. Contohnya:
public interface AdapterInterface { public void buttonPressed(); }
Pelaksanaan Penyesuai
Tambahkan pembina pada penyesuai yang memulakan pembolehubah contoh untuk antara muka:
public MyListAdapter(Context context, Cursor c, int flags, AdapterInterface buttonListener) { super(context, c, flags); this.buttonListener = buttonListener; }
Dalam kaedah bindView(), apabila butang diklik, panggil kaedah buttonPressed() pada antara muka:
@Override public void bindView(...) { ... holder.button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { buttonListener.buttonPressed(); } }); }
Pelaksanaan Serpihan
Laksanakan AdapterInterface dalam kelas serpihan dan ganti kaedah buttonPressed():
public class MyListFragment extends Fragment implements AdapterInterface { @Override public void buttonPressed() { // Custom action to be performed } }
Inisialisasi
Apabila mencipta penyesuai, hantar serpihan sebagai hujah kepada pembina:
MyListAdapter adapter = new MyListAdapter(getActivity(), myCursor, myFlags, this);
Nota
Atas ialah kandungan terperinci Bagaimana untuk Mewujudkan Komunikasi Antara Fragmen dan Penyesuai Kursornya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!