Rumah >Java >javaTutorial >Bagaimana untuk Berkomunikasi Antara Serpihan dan Penyesuainya menggunakan Klik Butang Didorong Peristiwa?

Bagaimana untuk Berkomunikasi Antara Serpihan dan Penyesuainya menggunakan Klik Butang Didorong Peristiwa?

DDD
DDDasal
2024-11-19 10:09:02593semak imbas

How to Communicate Between a Fragment and its Adapter using an Event-Driven Button Click?

Mengantaramuka Serpihan dan Penyesuai melalui Klik Butang Didorong Peristiwa

Untuk menyampaikan peristiwa antara Fragmen dan Penyesuai yang berkaitan, seseorang boleh melaksanakan antara muka dalam kelas Penyesuai. Dalam senario ini, Fragmen bernama MyListFragment mengandungi ListView yang menggunakan CursorAdapter tersuai. Apabila butang diklik dalam baris senarai, pemberitahuan diperlukan untuk dihantar ke Fragmen.

Penyelesaian melibatkan penciptaan antara muka dalam kelas Penyesuai:

public class MyListAdapter extends CursorAdapter {

    public interface AdapterInterface {
        void buttonPressed();
    }

    ...
}

Dalam kelas Fragment ( MyListFragment), laksanakan AdapterInterface:

public class MyListFragment extends Fragment implements AdapterInterface {

    @Override
    public void buttonPressed() {
        // Some action
    }
}

Untuk mengikat Penyesuai dan Fragmen, ubah suai kelas Penyesuai:

public class MyListAdapter extends CursorAdapter {

    private AdapterInterface buttonListener;

    public MyListAdapter(Context context, Cursor c, int flags, AdapterInterface buttonListener) {
        super(context, c, flags);
        this.buttonListener = buttonListener;
    }

    ...
}

Dalam kaedah bindView Adapter, tentukan tingkah laku klik butang:

@Override
public void bindView(View view, Context context, Cursor cursor) {
    ...

    holder.button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            buttonListener.buttonPressed();
        }
    });
}

Apabila mencipta Penyesuai, berikan Fragmen sebagai hujah:

MyListAdapter adapter = new MyListAdapter(getActivity(), myCursor, myFlags, this);

Mekanisme ini memastikan bahawa apabila butang diklik, Fragmen menerima pemberitahuan melalui antara muka yang dilaksanakan.

Atas ialah kandungan terperinci Bagaimana untuk Berkomunikasi Antara Serpihan dan Penyesuainya menggunakan Klik Butang Didorong Peristiwa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn