I am using json parsing, on button's click I have one alert dialog with listview and Radio Button . List is dynamically generated. by default first radio button of list is selected, Now issue is if I select second item and close the dialog , and again when I open it shows first radio button selected instead of second . Following is my code can any one help?
Adapter
public class CustomListAdapterSize extends BaseAdapter {
private Context context;
private LayoutInflater inflater;
private List<ProdSizes> movieItems;
private List<ProductPackModel> packItems;
private RadioButton selected =null;
private int mSelectedPosition = 0;
private RadioButton mSelectedRB;
public CustomListAdapterSize(Context context,List<ProdSizes> movieItems) {
this.context = context;
this.movieItems=movieItems;
}
@Override
public int getCount() {
return movieItems.size();
}
@Override
public Object getItem(int position) {
return movieItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(com.vetsupply.au.project.R.layout.listitem_productsizes, null);
holder.txtproname = (TextView) convertView.findViewById(com.vetsupply.au.project.R.id.txtproductsizenames);
holder.txtproprice = (TextView) convertView.findViewById(com.vetsupply.au.project.R.id.txtproductsizeprice);
holder.radioBtn = (RadioButton)convertView.findViewById(com.vetsupply.au.project.R.id.productsize_radio);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
// getting movie data for the row
final ProdSizes m = movieItems.get(position);
// title
holder.txtproname.setText(m.getProViews_Size());
holder.txtproprice.setText("$"+m.getProViews_MinPrice());
if (position == getCount() - 1) {
if (selected == null) {
holder.radioBtn.setChecked(true);
selected = holder.radioBtn;
/*for(int i=0;i<movieItems.size();i++)
{
sizenms = movieItems.get(i).getProViews_Size();
}
*/
}
}
holder.radioBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (selected != null) {
selected.setChecked(false);
}
holder.radioBtn.setChecked(true);
selected = holder.radioBtn;
ids = m.getProViews_ID();
sizenms = m.getProViews_Size();
System.out.println(">>>>>>>>>>>>>" + ids);
System.out.println("<<<<<<<<<<<" + sizenms);
dialogf.dismiss();
}
});
return convertView;
}
class ViewHolder{
TextView txtproname,txtproprice;
public RadioButton radioBtn;
}
}