Preparación del tipo de diseño de grupo de radio personalizado

Estoy tratando de preparar la costumbreradiogrupo Como diseño en la imagen de abajo. Tengo casi 8-10 filas para hacer eso. Entonces, preparé unolinear layout que tiene orientación horizontal y agregó laimageview, textview yradiobutton programaticamente

Así que si chequeo en unoradio button, los otros botones de radio deberían estar automáticamente desactivados. Antes de ir a esa tarea en sí, tengo otro problema: si mis botones de opción están marcados una vez, entonces el botón de opción no se puede desactivar aunque se haga clic en ellos. A continuación se muestra mi código.

public class MainActivity extends Activity{

RadioButton[] radioBtns = new RadioButton[10];

    String texts[] = {"text1", "text2", .... "text10"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


        entireLayout = (LinearLayout)findViewById(R.id.main_layout);


        for(int i =0; i<10; i++)
        {
            LinearLayout rowLayout=new LinearLayout(this);
            radioBtns[i] = new RadioButton(this);

            radioBtns[i].setId(i);
            radioBtns[i].setOnCheckedChangeListener(cblistener);
            ImageView imageView = new ImageView(this);


            TextView tv = new TextView(this);
            tv.setText(texts[i]);

            rowLayout.addView(imageView);
            rowLayout.addView(tv);
                        rowLayout.addView(radioBtns[i]);

            entireLayout.addView(rowLayout);

                View line = new View(this); 
                line.setBackgroundColor(getResources().getColor(R.color.horizontallinecolor));
                entireLayout.addView(line, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, 1));


        }
         }

CompoundButton.OnCheckedChangeListener cblistener = new CompoundButton.OnCheckedChangeListener()
    {
      public void onCheckedChanged(CompoundButton checkedbutton, boolean paramAnonymousBoolean)
      {

        switch (checkedbutton.getId())
        {

        case 0:
          Log.d("tag", "checked 0th position");

          break;
          ..........................
          ..........................
        }
      }
     };
}

He observado a través de mantener registros. El control entraonCheckedChanged () por primera vez cuando se están comprobando, pero no cuando no están marcados. Me pregunto cómo son incontrolables.

O De acuerdo con mi requerimiento, tengo una idea más para preparar este diseño al igual que preparo un diseño más para elfila en xml. Luego inflando la vista 10 veces. Pero también, ¿cómo puedo marcar solo un botón de opción para que el otro seleccionado no esté marcado? ¿Alguien puede por favor sugerirme cómo lograr este tipo deradiogrupo a través de la mejor manera?

Nota: He guardado mi código anterior para mostrar lo que he intentado. Si está completamente equivocado, por favor sea fácil y sugiérame cómo hacerlo.

Respuestas a la pregunta(7)

Su respuesta a la pregunta