Rumah  >  Artikel  >  Java  >  Mengapa Pendengar Kotak Semak Android Saya Melemparkan Ralat sebagai Pendengar RadioGroup?

Mengapa Pendengar Kotak Semak Android Saya Melemparkan Ralat sebagai Pendengar RadioGroup?

DDD
DDDasal
2024-10-25 22:56:28402semak imbas

Why Does My Android CheckBox Listener Throw an Error as a RadioGroup Listener?

Pendengar Kotak Semak Android: Menyelesaikan Masalah OnCheckedChangeListener Isu

Apabila menambahkan pendengar pada Kotak Semak dalam Android, adalah perkara biasa untuk menghadapi ralat apabila Eclipse berlaku kesilapan ia sebagai OnCheckedChangeListener untuk RadioGroup. Isu ini boleh diselesaikan dengan menggunakan pelaksanaan pendengar yang betul.

Kod asal yang disediakan:

<code class="java">satView.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        if (isChecked){
            // perform logic
        }
    }

});</code>

cuba mengendalikan pendengar kotak pilihan menggunakan OnCheckedChangeListener untuk RadioGroup. Untuk membetulkannya, jenis pendengar yang betul harus digunakan untuk kotak pilihan, iaitu CompoundButton.OnCheckedChangeListener.

Kod yang dikemas kini:

<code class="java">satView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {

       }
   }
);     </code>

Kod ini menggunakan CompoundButton.OnCheckedChangeListener dan bukannya OnCheckedChangeListener untuk a RadioGroup. Dengan berbuat demikian, ia mengendalikan kotak pilihan dengan betul dan membenarkan logik tersuai dilakukan apabila keadaan yang ditandai berubah.

Atas ialah kandungan terperinci Mengapa Pendengar Kotak Semak Android Saya Melemparkan Ralat sebagai Pendengar RadioGroup?. 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