Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6962801
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T15:42:26+00:00 2026-05-27T15:42:26+00:00

everybody i am creating a custom listview with dynamic radiobuttons adding to radiogroup upto

  • 0

everybody i am creating a custom listview with dynamic radiobuttons adding to radiogroup upto that i am getting what i want but when i try to select one radio button in first row then automatically first button in 5th ,9th,13 row is getting selected and when i select any button in second row then same button in 6th,8th,12th row is getting selected what i am doing wrong here and my adapter class

public class InteractiveArrayAdapter extends ArrayAdapter<Model> {
String tag = "Events";
private final List<Model> list;
private final Activity context;

public InteractiveArrayAdapter(Activity context, List<Model> list) {
    super(context, R.layout.rowbuttonlayout, list);
    this.context = context;
    this.list = list;
}

static class ViewHolder {
    protected TextView text;
    protected CheckBox checkbox,checkbox1;
    protected RadioGroup mgroup;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Log.d(tag," 3");
    View view = null;
    if (convertView == null) {
        LayoutInflater inflator = context.getLayoutInflater();
        view = inflator.inflate(R.layout.rowbuttonlayout, null);
        final ViewHolder viewHolder = new ViewHolder();
        viewHolder.text = (TextView) view.findViewById(R.id.label);
        //viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
        //viewHolder.checkbox1 = (CheckBox) view.findViewById(R.id.checkbox1);
        viewHolder.mgroup = (RadioGroup) view.findViewById(R.id.radioGroup1);
        final RadioButton[] mbutton=new RadioButton[5];
           for(int l=0;l<5;l++){
               mbutton[l]=new RadioButton(context);
               mbutton[l].setText("test"+l);


               viewHolder.mgroup.addView(mbutton[l]);

           }
           viewHolder.mgroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
               public void onCheckedChanged(RadioGroup mRadioGroup, int checkedId) {
                    for(int i=0; i<mRadioGroup.getChildCount(); i++) {
                         RadioButton btn = (RadioButton) mRadioGroup.getChildAt(i);
                         //int t=table.indexOfChild(table_row);
                         //System.out.println(t);
                         int t=mRadioGroup.getId();
                         System.out.println(t);

                         if(btn.getId() == checkedId) {
                              String text = btn.getText().toString();
                              // do something with text
                              Log.d(text," event1");
                              return;
                         }
                    }
               }
          });


        view.setTag(viewHolder);
        Log.d(tag,"me");

    } else {
        view = convertView;
        Log.d(tag,"meeee");

    }
    ViewHolder holder = (ViewHolder) view.getTag();
    holder.text.setText(list.get(position).getName());

    Log.d(tag," event7");

    return view;

}

}

i am posting my working code so that it will be helpfull to others have a look at it

public class InteractiveArrayAdapter extends ArrayAdapter<Model> implements OnClickListener {
String tag = "Events";
private final List<Model> list;
private final Activity context;
int li,jh;



public InteractiveArrayAdapter(Activity context, List<Model> list) {
    super(context, R.layout.rowbuttonlayout, list);
    this.context = context;
    this.list = list;
}

 static class ViewHolder {
    protected TextView text;
    protected CheckBox checkbox,checkbox1;
    protected RadioGroup mgroup;
    protected RadioButton mbutton;
}



@Override
public View getView( final int position, View convertView, ViewGroup parent) {
    //Log.d(tag," 3");

     View view =null;
    if (convertView == null) {
        //System.out.println("ok");
        LayoutInflater inflator = context.getLayoutInflater();
        view = inflator.inflate(R.layout.rowbuttonlayout, null);
        final ViewHolder viewHolder = new ViewHolder();
        viewHolder.text = (TextView) view.findViewById(R.id.label);

        viewHolder.mgroup = (RadioGroup) view.findViewById(R.id.radioGroup1);


        final RadioButton[] mbutton=new RadioButton[5];
           for(int l=0;l<5;l++){
               mbutton[l]=new RadioButton(context);
               mbutton[l].setText("test"+l+position);
               mbutton[l].setId(l+1);
               mbutton[l].setOnClickListener(new View.OnClickListener(){

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        RadioButton byt=(RadioButton) v;
                        byt.isChecked();
                        byt.getId();
                Model element = (Model) viewHolder.mgroup.getTag();
                        element.setBte(byt.getId());
                            element.gte((String) viewHolder.text.getText());
                        System.out.println("givemeresult");
                    }

                   });


               viewHolder.mgroup.addView(mbutton[l]);

               }
         view.setTag(viewHolder);
           viewHolder.mgroup.setTag(list.get(position));


    } else {
        view = convertView;
        ((ViewHolder) view.getTag()).mgroup.setTag(list.get(position));
        }
     ViewHolder holder = (ViewHolder) view.getTag();
     view.getTag()).mgroup.getTag();
     holder.text.setText(list.get(position).getName());


    if (list.get(position).getName()==list.get(position).done()){

        holder.mgroup.check(list.get(position).isSelected());
    }
    else {

        holder.mgroup.clearCheck();
    }




    return view;

}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T15:42:26+00:00Added an answer on May 27, 2026 at 3:42 pm

    That’s because views are reused. You have to set holder.mgroup in the else of if(convertView == null)

    Your code a bit changed by me:

    public class InteractiveArrayAdapter extends ArrayAdapter<Model> {
    String tag = "Events";
    private final List<Model> list;
    private final Activity context;
    
    public InteractiveArrayAdapter(Activity context, List<Model> list) {
        super(context, R.layout.rowbuttonlayout, list);
        this.context = context.getApplicationContext();
        this.list = list;
    }
    
    static class ViewHolder {
        protected TextView text;
        protected CheckBox checkbox,checkbox1;
        protected RadioGroup mgroup;
    }
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Log.d(tag," 3");
        View view = convertView;
        ViewHolder viewHolder = null;
        final RadioButton[] mbutton = null;
        if (view == null) {
            LayoutInflater inflator = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflator.inflate(R.layout.rowbuttonlayout, null);
            viewHolder = new ViewHolder();
            viewHolder.text = (TextView) view.findViewById(R.id.label);
            //viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
            //viewHolder.checkbox1 = (CheckBox) view.findViewById(R.id.checkbox1);
            viewHolder.mgroup = (RadioGroup) view.findViewById(R.id.radioGroup1);
    
            // I'm not sure about this..
            // Begin
            mbutton=new RadioButton[5];
           for(int l=0;l<5;l++){
               mbutton[l]=new RadioButton(context);
               mbutton[l].setText("test"+l);
    
    
               viewHolder.mgroup.addView(mbutton[l]);
    
            }
    
               viewHolder.mgroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                   public void onCheckedChanged(RadioGroup mRadioGroup, int checkedId) {
                        for(int i=0; i<mRadioGroup.getChildCount(); i++) {
                             RadioButton btn = (RadioButton) mRadioGroup.getChildAt(i);
                             //int t=table.indexOfChild(table_row);
                             //System.out.println(t);
                             int t=mRadioGroup.getId();
                             System.out.println(t);
    
                             if(btn.getId() == checkedId) {
                                  String text = btn.getText().toString();
                                  // do something with text
                                  Log.d(text," event1");
                                  return;
                             }
                        }
                   }
              });
             // End 
    
            view.setTag(viewHolder);
            Log.d(tag,"me");
    
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
    
            // Begin
            mbutton = viewHolder.mgroup;
            // End
    
            Log.d(tag,"meeee");
    
        }
        ViewHolder holder = (ViewHolder) view.getTag();
        holder.text.setText(list.get(position).getName());
    
        Log.d(tag," event7");
    
        return view;
    
    }
    

    }

    My implementation of an imageView (stripped):

    public class DealAdapter extends ArrayAdapter<DealObject> {
    
    private Context mContext;
    private Activity mActivity;
    private ArrayList<DealObject> mItems;
    private int mXmlId;
    
    public DealAdapter(Context context, int textViewResourceId, ArrayList<DealObject> items, Activity activity) {
        super(context, textViewResourceId, items);
        this.mContext = context.getApplicationContext();
        this.mActivity = activity;
        this.mItems = items;
        this.mXmlId = textViewResourceId;
    }
    
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        //View v = null;
        View v = convertView;
        ViewHolder holder = null;
        RemoteImageLoader imageLoader = new RemoteImageLoader(mContext, true);
        RemoteImageView dealImage = null;
    
        DealObject mo = mItems.get(position); 
        try { 
            if (v == null) { 
                LayoutInflater vi = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                v = vi.inflate(mXmlId, null);
                holder = new ViewHolder();
    
                dealImage = (RemoteImageView) v.findViewById(R.id.deal_image);
    
                holder.dealImage = dealImage;
                v.setTag(holder);
            } else {
                // Get the ViewHolder back to get fast access to the ImageView.
                holder = (ViewHolder) convertView.getTag();
                holder.dealImage.setBackgroundColor(Color.WHITE);
                dealImage = holder.dealImage;
            }
    
            if(mo.getImage() != null){ 
                // calling reset is important to prevent old images from displaying in a recycled view.
                dealImage.reset();
                holder.dealImage.setImageUrl(imageUrl);
                try {
                    holder.dealImage.loadImage();
                }
                catch (Exception ex) {
                }
            }  
        }
        catch (Exception ex) { 
            ex.printStackTrace();
        }
        return v; 
    } 
    
    private static final class ViewHolder {
        private RemoteImageView dealImage;
    }
    

    }

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Everybody says that immutable objects are thread safe, but why is this? Take the
Everybody knows that you can access a variable in PHP using this: ${'varName'}. But
I everybody, I guess my quesiton is trivial but I'm getting stuck and aI
Hi everybody. The problem: elcipse-3.5.0 (Galileo) spits with an error when I try to
Greetings everybody. I have seen examples of such operations for so many times that
Heyy Everybody! I am trying to create a memory management system, so that a
Dear everybody who can help, I have this PHP > MongoDB problem, I want
everybody, I'm beginner in programming, I've just finished my course on C++, I want
everybody using mysql knows: SELECT SQL_CALC_FOUND_ROWS ..... FROM table WHERE ... LIMIT 5, 10;
Everybody's seen this before, but what is this code? I don't even know what

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.