Почему радио-кнопка в другом ряду тоже нажимается, когда я нажимаю кнопку радио в первом ряду? - PullRequest
0 голосов
/ 09 мая 2018

У меня есть 3 radiobutton in listview, когда я нажимаю radiobutton в первой строке, еще одна radiobutton также нажимается при прокрутке списка вниз.

Как это решить?

Радиокнопка, нажатая в первом ряду

Radiobutton clicked in first row

Нажата и другая строка

another row is clicked too

Вот мой код адаптера

@Override
public View getView(final int position, View convertView, final ViewGroup parent) {

    final ViewHolder holder;

    if (convertView == null) {
        holder = new ViewHolder();
        convertView = inflater.inflate( R.layout.item_listview, null);
        holder.tvAlat = (TextView) convertView.findViewById(R.id.tv_alat);

        holder.tvpengecekan = (TextView) convertView.findViewById(R.id.tv_pengecekan);

        holder.tvnormal = (TextView) convertView.findViewById(R.id.tv_normal);

        convertView.setTag(mPengecekanList.get(position).getId_pengecekan());
        holder.baik = (RadioButton) convertView.findViewById(R.id.B);
        holder.rusakringan = (RadioButton) convertView.findViewById(R.id.RR);
        holder.rusakberat = (RadioButton) convertView.findViewById(R.id.RB);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    holder.tvAlat.setText(mPengecekanList.get(position).getNama_alat());
    holder.tvpengecekan.setText(mPengecekanList.get(position).getPengecekan());
    holder.tvnormal.setText(mPengecekanList.get(position).getNormal());

    holder.baik.setTag(position);
    holder.rusakringan.setTag(position);
    holder.rusakberat.setTag(position);

    holder.baik.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
              selectedAnswers.set(position, "1");
                 }});

holder.rusakringan.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
              selectedAnswers.set(position, "2");
                 }});
holder.rusakberat.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
              selectedAnswers.set(position, "3");
                 }});}

1 Ответ

0 голосов
/ 09 мая 2018

Я не вижу проблем в вашем коде

но определенно, если вы выберете уникальный идентификатор для чего-то другого, не выбран

, так что попробуйте отладить ваш код, и вы обнаружите, что радио, выбранное с другим, использует тот же идентификатор или тот же тег, что и

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...