cari

Rumah  >  Soal Jawab  >  teks badan

Pilihan radio kotak semak listview Android

Kini latar belakang mengembalikan nilai sama ada alamat lalai adalah int Isdefault = bean.getDefault_address();


Bagaimana untuk melaksanakan penukaran kotak pilihan?

为情所困为情所困2809 hari yang lalu775

membalas semua(2)saya akan balas

  • 为情所困

    为情所困2017-05-16 13:31:21

    Anda boleh menulis seperti ini dengan perubahan minimum pada kod anda, mula-mula cari alamat yang dipilih secara lalai

    int defaultPosition = -1;
    for (int i = 0; i < beanlist.size(); i++) {
         if(beanlist.get(i).getDefault_address()){
             defaultPosition = i;
             break;
         }
    }

    Dua situasi:

    1. Selepas memilih alamat lain dan kemudian membatalkannya, alamat lalai akan dipilih semula

    if(tempPosition > -1){
        if(position == tempPosition){
            holder.checkBox.setChecked(true);
        }else{
            holder.checkBox.setChecked(false);
        }
    }else{
        if(position == defaultPosition){
            holder.checkBox.setChecked(true);
        }else{
            holder.checkBox.setChecked(false);
        }
    }
    1. Sebaik sahaja anda memilih alamat lain, pilihan lalai tidak akan berfungsi lagi

    tempPosition = defaultPosition;
    if(position == tempPosition){
        holder.checkBox.setChecked(true);
    }else{
        holder.checkBox.setChecked(false);
    }

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:31:21

    Lebih mudah untuk mencipta tatasusunan untuk mengekalkan status Kotak semak.
    Apabila Kotak Semak menerima acara klik, tukar status Kotak semak yang sepadan dalam statusList, dan pada masa yang sama tetapkan status Kotak semak mengikut nilai statusList dalam kaedah onBindView/getView.

    ------------------------Barisan pemisah----------------------- -- ------------------------------------------------ -- ------
    Saya tidak nampak bahawa ia memerlukan pemilihan tunggal. . Untuk pemilihan tunggal, anda perlu menambah bendera untuk merekodkan kedudukan terakhir yang dipilih, dan kemudian dapatkan objek daripada penyesuai Jika ia kelihatan, ubah suai checkStatus.

    balas
    0
  • Batalbalas